我正在使用python 3.3,在我的代码中我需要用以下参数打开cmd.exe并运行它。 cmd.exe中的所需行应为:
C:\Program Files (x86)\GlobalMapper15>global_mapper.exe script.gms variable
我看到了不同的答案,但我使用subprocess.call管理的最多是打开cmd.exe或global_mapper.exe。我没有设法在cmd.exe中获取上面的行。
我到目前为止尝试过:
#import subprocess
import os
os.system("cmd.exe C:\Program Files (x86)\GlobalMapper15\global_mapper.exe script.gms")
#subprocess.call(["cmd.exe C:\Program Files (x86)\GlobalMapper15\global_mapper.exe", "script.gms"])
他们都没有运作良好。
当然,如果该行也将被执行,那将是很好的。任何人都可以帮助我实现这一目标吗?
谢谢大家,
答案 0 :(得分:4)
在给定目录中运行global_mapper.exe
:
#!/usr/bin/env python
from subprocess import call
dir = r"C:\Program Files (x86)\GlobalMapper15"
cmdline = "global_mapper.exe script.gms variable"
rc = call(cmdline, cwd=dir) # run `cmdline` in `dir`
如果要在新的控制台窗口中启动命令:
rc = call("start cmd /K " + cmdline, cwd=dir, shell=True)
答案 1 :(得分:2)
也许这个:
import os
os.system("program.exe -parameter")
答案 2 :(得分:0)
您可以创建一个.bat文件并命名为
dir = r"C:\Program Files (x86)\GlobalMapper15"
write=''.join((dir,'\\','call.bat'))
f= open(write,'w')
with f:
f.write('@ECHO ON\n Call global_mapper.exe script.gms variable'
subprocess.call(write,cwd=dir)