相关疑难解决方法(0)

子进程优于os.system的优点

我最近遇到了一些有关堆栈溢出的帖子,说子进程比os.system好得多,但是我很难找到确切的优点.

我遇到的一些例子:https: //docs.python.org/3/library/os.html#os.system

"子进程模块提供了更强大的工具来生成新进程并检索其结果;使用该模块比使用此函数更可取."

不知道它在哪些方面更强大,我知道在很多方面使用子进程更容易,但实际上它在某种程度上更强大吗?

另一个例子是:

/sf/answers/6247041/

子进程系统的优点是它更灵活(你可以得到stdout,stderr,"真正的"状态代码,更好的错误处理等等).

这篇帖子有2600多张选票.再一次找不到更好的错误处理或真实状态代码意味着什么.

该帖子的最高评论是:

无法理解为什么你使用os.system即使是快速/脏/一次性.子进程看起来好多了.

同样,我理解它使一些事情稍微容易些,但我几乎无法理解为什么例如:

subprocess.call("netsh interface set interface \"Wi-Fi\" enable", shell=True)
Run Code Online (Sandbox Code Playgroud)

比任何更好

os.system("netsh interface set interface \"Wi-Fi\" enabled")
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一些它更好的原因吗?

python subprocess os.system

11
推荐指数
2
解决办法
5988
查看次数

标签 统计

os.system ×1

python ×1

subprocess ×1