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

发布于 2021-01-29 18:16:55

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

关注者
0
被浏览
308
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看