Python调shell

os.system(cmd) 
函数返回cmd的结束状态码,阻塞调用。


 

os.popen(cmd) 
函数返回cmd的标准输出,阻塞调用。


 

(status, output) = commands.getstatusoutput(cmd) 
函数返回cmd的结束状态码和标准输出,阻塞调用。


 

subprocess.Popen(cmd,stdout=subprocess.PIPE) 

函数返回一对象,其stdout成员可读,可用readline方式读;非阻塞调用。 

注意,read()或communicate()函数都将阻塞父进程等待子进程。

可stdin,stdout交互,先开管道,但从管道读是阻塞的。

坑:p.poll(),查看进程是否结束,没有结束返回None,结束了返回0。Fantastic!

posted on 2017-12-08 15:18  willaty  阅读(510)  评论(0编辑  收藏  举报

导航