从Python中调用进程的最快方法是什么?

3 投票
1 回答
3049 浏览
提问于 2025-04-16 08:51

从Python中执行一个可执行文件,最快或者最有效的方法是什么?我觉得用os.system比用subprocess.popen要快。我希望能够读取这个其他进程输出的内容,但比起其他任何事情,速度是最重要的。

1 个回答

4

我认为,像 os.systemos.execvsubprocess.Popen 之间的速度差异,可能会被启动新进程的开销(以及为了运行它而需要的上下文切换)所掩盖。因此,我建议先使用 subprocess,然后测量它的性能。

有一个可能影响性能的因素:使用 os.systemsubprocess.Popen(shell=True, ...) 时,会额外创建一个 shell 进程。在大多数情况下,这个 shell 是不必要的。创建它是浪费;你会得到比需要的多一倍的进程,但并没有什么好处。

撰写回答