使用python运行命令行

时间:2014-05-29 02:33:02

标签: python command-line

我想运行一个位于C的程序,可以使用命令行运行,如下所示

tclsh oommf.tcl avf2odt -average space -axis z -onefile  <filename>.txt  -headers none -ipat *.omf

这是我在命令行中输入的唯一内容。

如何使用python运行它?

请与此问题非常相关。我见过很多答案:你可以使用&#39; subprocess&#39;实现它。但是,它们都没有真正解决问题。

2 个答案:

答案 0 :(得分:1)

您可以使用subprocess模块。

import subprocess
subprocess.call(["tclsh", "oommf.tcl", "avf2odt", "-average", "space", "-axis", "z", "-onefile",  "<filename>.txt", "-headers", "none", "-ipat", "*.omf"])

请参阅https://docs.python.org/2/library/subprocess.html#subprocess.call

答案 1 :(得分:0)

这应该可以解决问题(将进程的打印输出作为String返回)

import subprocess
output = subprocess.check_output("tclsh oommf.tcl avf2odt -average space -axis z -onefile  <filename>.txt  -headers none -ipat *.omf", shell=True)

如果您想要改变子进程的返回代码(例如,在成功时检查0),请使用

import subprocess
return_code = subprocess.call("tclsh oommf.tcl avf2odt -average space -axis z -onefile  <filename>.txt  -headers none -ipat *.omf", shell=True)