【问题标题】:How to open a program with cmd.exe from Python?如何从 Python 中使用 cmd.exe 打开程序?
【发布时间】:2014-03-19 21:43:48
【问题描述】:

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

它们都没有很好地工作。

当然,如果该行也被执行,那就太好了。谁能帮我实现这一目标?

谢谢大家,

【问题讨论】:

  • “我用 subprocess.call 管理的最多的是打开 cmd.exe 或 global_mapper.exe。” 我很想看看这段代码。
  • @Kevin 好吧,您甚至可以通过运行以下简单的东西来测试它: import subprocess subprocess.call(["cmd.exe"]) 这将打开 cmd.exe。但这还不够,我还需要添加所有额外的参数。
  • 也许这可以帮助你。 stackoverflow.com/questions/89228/…
  • 当您尝试将所有额外参数添加到 subprocess.call 时发生了什么?到目前为止,您还没有发布任何代码,所以看起来您只是在要求我们为您编写项目。
  • @EduardoPino 谢谢,我尝试按照该代码进行操作,但被卡住了。我会继续努力的。

标签: windows python-3.x cmd gis


【解决方案1】:

你可以创建一个.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)

【讨论】:

    【解决方案2】:

    也许是这样:

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

    【讨论】:

      【解决方案3】:

      在给定目录中运行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)
      

      【讨论】:

      • 非常感谢您的说明。我现在明白它是如何工作的。哎呀,编程真的可以加快速度。谢谢大家,
      猜你喜欢
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 2019-03-18
      • 2011-09-11
      相关资源
      最近更新 更多