subprocess.popen和subprocess.run有什么区别

我是该subprocess模块的新手,而文档处理使我想知道subprocess.popen和之间的区别subprocess.run。该命令的功能是否有所不同?是新的吗?哪个更好用?

回答:

subprocess.run 是在Python

3.5中添加的,目的是简化subprocess.Popen您何时只想执行命令并等待其结束的时间,但同时您也不想执行其他任何操作。对于其他情况,您仍然需要使用subprocess.Popen

主要区别是subprocess.run执行命令并

命令完成,与此同时,subprocess.Popen您可以在过程完成时继续执行您的工作,然后重复调用subprocess.communicate自己以将数据传递和接收到您的过程。

请注意,subprocess.run实际所做的是为Popen和调用communicate,因此您无需进行循环即可传递/接收数据,也无需等待过程完成。

检查的官方文档,其中的参数信息subprocess.run传递给Popen,哪些communicate

以上是 subprocess.popen和subprocess.run有什么区别 的全部内容, 来源链接: utcz.com/qa/430815.html

回到顶部