0

我想制作一个 Python 代码,它可以像 cmd 一样打开一个程序,然后从文件菜单中导出一个 .txt 文件。cmd的代码如下所示:

c:\ESG\Statsvis.exe \\192.168.100.222\c\ESG\S1-424\2012\06\29\S1-42420120629.dsf /output=C:\Users\jessica.macleod\Desktop\outfile.txt /param=RMS Amplitude

在 cmd 中,上面的行正是我想要的。Python 的等价物是什么?

4

4 回答 4

3

请参阅subprocess.Popen,如下所示:

subprocess.Popen(["/bin/ls", "-l"]

或者,根据您想要获得的结果(标准输出、返回码),使用subprocess.callsubprocess.call_check或此模块中的其他片段。

于 2012-08-30T16:11:06.533 回答
1

另一种方法是os.system()

import os
os.system("c:\\ESG\\Statsvis.exe \\192.16...0629.dsf /output=C:\\...\\outfile.txt ...")
于 2012-08-30T16:23:12.023 回答
0

如果您想获得准确的 shell/cmd 行为,请在调用中将shell参数设置为。但是,从文档中:Truesuprocess.Popen()

警告

如果与不受信任的输入结合使用,则使用 shell=True 调用系统 shell 可能会带来安全隐患。有关详细信息,请参阅常用参数下的警告。

于 2012-08-30T16:18:01.167 回答
0

如果您需要命令的输出,请使用子进程:

import subprocess
out = subprocess.check_output("dir c:\ /AD", shell = True)
于 2013-04-12T22:34:55.847 回答