建议从Python脚本中运行另一个程序的方法

时间:2009-05-26 13:38:56

标签: python windows

  

可能重复:
  How to call external command in Python

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

直到现在我一直在关注os.system()os.execl()并且它们看起来不合适(我甚至不知道后者是否会在Windows中运行)。

2 个答案:

答案 0 :(得分:4)

推荐的方法是使用subprocess module。所有其他方式(如os.system()exec)都是脆弱的,不安全的,并且具有您不应该关心的微妙副作用。 subprocess替换所有这些。

答案 1 :(得分:-2)

子进程提供的一个方法是捕获命令输出的方法,例如在Windows机器上使用[popen]

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

将产生

'驱动器C中的卷没有标签。\ n卷序列号是54CD-5392 \ n \ n目录C:\ Python25 \ Lib \ site-packages \ pythonwin \ n \ n [。] [..] dde.pyd license.txt \ nPythonwin.exe [pywin] scintilla.dll tmp.txt \ nwin32ui.pyd win32uiole.pyd \ n 7文件984,178字节\ n 3 Dir(s)30,539,644,928字节免费\ n'

然后可以以任何方式解析或操纵它。