我想运行一个位于C的程序,可以使用命令行运行,如下所示
tclsh oommf.tcl avf2odt -average space -axis z -onefile <filename>.txt -headers none -ipat *.omf
这是我在命令行中输入的唯一内容。
如何使用python运行它?
请与此问题非常相关。我见过很多答案:你可以使用&#39; subprocess&#39;实现它。但是,它们都没有真正解决问题。
答案 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)