【发布时间】:2013-10-06 18:50:54
【问题描述】:
在 Python 中有没有比使用subprocess.call 方法更高效或更快的方法?我注意到一年前有一个关于此的 SO 问题 (Python subprocess module much slower than commands (deprecated)),但由于 Python 删除了该替代方案而贬值,所以我想看看这是否是现在唯一且最快的方法来调用命令来自 Python 的 shell。具体来说,我正在运行以下命令:
subprocess.call("foo",shell=True)
或者我应该使用os?
谢谢。
【问题讨论】:
-
你能发布原始问题的链接吗?
-
谢谢我已经添加了引用的链接。
-
该帖子声称 subprocess 有 2ms 的适度劣势,并且还建议跳过中间 shell
subprocess.call(["foo"])会产生更大的差异。如果您确实需要从代码中提取 2ms,请考虑使用 C 扩展。 -
好的,感谢您的澄清。
-
@tdelaney 增加了 2(实际上是 2.76)毫秒,是的,当您的基线为 3 毫秒时,这意味着使用子流程的时间增加了 92%。也许我们对“谦虚”有不同的定义,但这没什么好打喷嚏的
标签: python shell terminal subprocess