gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:08:16 30 4
gpt4 key购买 nike

我是 subprocess 模块的新手,文档让我想知道 subprocess.popensubprocess.run 之间有什么区别.命令的作用有区别吗?一个只是更新吗?哪个更好用?

最佳答案

subprocess.run() was added in Python 3.5作为 subprocess.Popen 的简化版当您只想执行一个命令并等到它完成,但同时又不想做任何其他事情时。对于其他情况,您仍然需要使用 subprocess.Popen

主要区别在于 subprocess.run() 执行命令并 等待 完成,而使用 subprocess.Popen 你可以在进程完成时继续做你的事情,然后重复调用 Popen.communicate()自己将数据传递和接收到您的流程。其次,subprocess.run() 返回subprocess.CompletedProcess .

subprocess.run() 只是包装了 PopenPopen.communicate() 所以你不需要做一个循环来传递/接收数据或等待进程完成。

检查 the official documentation有关哪些参数 subprocess.run() 传递给 Popencommunicate() 的信息。

关于python - subprocess.popen 和 subprocess.run 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187886/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com