如何使用Python中的cmd.exe打开程序?

时间:2014-02-19 13:53:01

标签: windows python-3.x cmd gis

我正在使用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"])

他们都没有运作良好。

当然,如果该行也将被执行,那将是很好的。任何人都可以帮助我实现这一目标吗?

谢谢大家,

3 个答案:

答案 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)