关于Windows:从Python脚本中运行另一个程序的推荐方法

Recommended way to run another program from within a Python script

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How to call external command in Python

我正在Windows机器上编写一个python脚本。我需要启动另一个应用程序"otherapp.exe"。最合适的方法是什么?

到目前为止,我一直在看os.system()os.execl(),它们看起来不太合适(我甚至不知道后者是否能在Windows中工作)。


建议使用子流程模块。所有其他的方法(如os.system()exec都是脆弱的、不安全的,并且有一些你不需要关心的微妙的副作用。子流程将替换所有子流程。


子进程提供的功能之一是捕获命令输出的方法,例如在Windows计算机上使用[popen]。

1
2
import os
os.popen('dir').read()

将屈服

'驱动器C中的卷没有标签。卷序列号是54CD-5392 目录C:\python25 \lib \site packages \pythonwin [..]dde.pyd license.txt pythonwin.exe[pywin]scintilla.dll tmp.txt win32ui.pyd 7个文件984178字节3个目录30539644928字节可用'

然后可以任意解析或操作。