关于windows:如何使用Python中的cmd.exe打开程序?

How to open a program with cmd.exe from Python?

我正在使用python 3.3,在我的代码中我需要用以下参数打开cmd.exe并运行它。 cmd.exe中的所需行应为:

1
C:\Program Files (x86)\GlobalMapper15>global_mapper.exe script.gms variable

我看到了不同的答案,但我使用subprocess.call管理的最多是打开cmd.exe或global_mapper.exe。 我没有设法在cmd.exe中获取上面的行。

我到目前为止尝试过:

1
2
3
4
#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"])

他们都没有运作良好。

当然,如果该行也将被执行将是很好的。 谁能帮助我实现这一目标?

谢谢你们,


要在给定目录中运行global_mapper.exe

1
2
3
4
5
6
#!/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`

如果要在新的控制台窗口中启动该命令:

1
rc = call("start cmd /K" + cmdline, cwd=dir, shell=True)


也许这个:

1
2
import os
os.system("program.exe -parameter")


你可以创建一个.bat文件并调用它

1
2
3
4
5
6
7
dir = r"C:\Program Files (x86)\GlobalMapper15"
write=''.join((dir,'\','call.bat'))
f= open(write,'w')
with f:
  f.write('@ECHO ON
 Call global_mapper.exe script.gms variable'
subprocess.call(write,cwd=dir)