subprocess
允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。
subprocess.Popen()
subprocess
模块中基本的进程创建和管理由Popen
类来处理.subprocess.popen
是用来替代os.popen
的.
from subprocess import Popen, PIPE
p = Popen(['echo', 'hello world'], stdout=PIPE)
print(p.communicate()) # (b'hello world\n', None)
Popen.communicate()
communicate()
函数返回一个tuple
(标准输出和错误).Popen.communicate()
和进程沟通:发送数据到标准输入.从标准输出和错误读取数据直到遇到结束符.等待进程结束.
输入参数应该是一个字符串,以传递给子进程,如果没有数据的话应该是None
.
基本上,当你用 communicate()
函数的时候意味着你要执行命令了.