因此,我注意到subprocess.call在等待命令完成之后再继续执行python脚本时,除了使用之外,我无法获取标准输出subprocess.Popen。是否有其他替代函数调用会等到完成?(我也尝试过Popen.wait)
subprocess.call
subprocess.Popen
Popen.wait
注意:我正试图避免os.system打电话
os.system
result = subprocess.Popen([commands..., self.tmpfile.path()], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = result.communicate() print out+"HIHIHI"
我的输出:
HIHIHI
注意:我正在尝试wine与此。
wine
我正在使用以下构造,尽管您可能要避免使用shell=True。这将为您提供任何命令的输出和错误消息,以及错误代码:
shell=True
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) # wait for the process to terminate out, err = process.communicate() errcode = process.returncode