subprocess模块打算来替代几个过时的模块和函数,如: os.system, os.spawn*, os.popen*, popen2.*命令。
subprocess :
我们用subprocess.call()来做一个统计磁盘的例子:
subprocess.call(['df', '-h'])
下面的例子把shell设置为True:
subprocess.call('du -hs $HOME', shell=True)
注意,python官方文档里对参数shell=True陈述了一个警告:
现在,我们来看看输入与输出
subprocess.Popen() subprocess 模块中基本的进程创建和管理由Popen 类来处理. subprocess.popen是用来替代os.popen的.
我们来做一些真实的例子,subprocess.Popen需要一个数组作为参数:
注意,虽然你可以使用 “shell=True”,但并不推荐这样的方式.
如果你知道你只用几个有限的函数,比如Popen和PIPE,你可以单单指定这几个函数:
Popen.communicate() communicate()函数返回一个tuple(标准输出和错误). Popen.communicate() 和进程沟通:发送数据到标准输入.从标准输出和错误读取数据直到遇到结束符.等待进程结束. 输入参数应该是一个字符串,以传递给子进程,如果没有数据的话应该是None.
基本上,当你用 communicate()函数的时候意味着你要执行命令了。
以上内容大家可以消化了解下哦~如需了解更多python实用知识。
本文链接:http://so.lmcjl.com/news/8934/