Python 何时应该使用Popen()以及何时应该使用call()?
警告:Python的新功能 希望听到实际使用它的专业人士的意见: subprocess.Popen()和Python 何时应该使用Popen()以及何时应该使用call()?,python,call,subprocess,popen,Python,Call,Subprocess,Popen,警告:Python的新功能 希望听到实际使用它的专业人士的意见: subprocess.Popen()和subprocess.call()之间的主要区别是什么?什么时候最好使用它们? 除非你想读我为什么在想这个问题,或者你的答案围绕什么,你现在可以停止阅读了 我之所以想问这个问题,是因为我正在处理一个脚本中的一个问题,在这个脚本中,我开始使用subprocess.Popen(),最终称为系统暂停,然后想删除创建系统暂停的.exe,但我注意到使用Popen(),所有命令似乎都一起运行(对.exe的
subprocess.call()
之间的主要区别是什么?什么时候最好使用它们?
除非你想读我为什么在想这个问题,或者你的答案围绕什么,你现在可以停止阅读了
我之所以想问这个问题,是因为我正在处理一个脚本中的一个问题,在这个脚本中,我开始使用subprocess.Popen()
,最终称为系统暂停,然后想删除创建系统暂停的.exe,但我注意到使用Popen()
,所有命令似乎都一起运行(对.exe的删除在exe关闭之前执行…),尽管我尝试添加communicate()
下面是我上面描述的伪代码:
subprocess.Popen(r'type pause.exe > c:\worker.exe', shell=True).communicate()
subprocess.Popen(r'c:\worker.exe', shell=True).communicate()
subprocess.Popen(r'del c:\worker.exe', shell=True).communicate()
子流程调用(*popenargs,**kwargs)
使用参数运行命令。等待
命令完成,然后返回
returncode属性
如果创建Popen
对象,则必须自己调用sp.wait()
如果您使用调用
,那么就完成了
子流程调用(*popenargs,**kwargs)
使用参数运行命令。等待
命令完成,然后返回
returncode属性
如果创建Popen
对象,则必须自己调用sp.wait()
如果您使用调用
,那么就完成了