2014-02-19 2 views
1

Я использую python 3.3 и в своем коде мне нужно что-то открыть cmd.exe со следующими аргументами и запустить его. Нужный линия в cmd.exe должна быть:Как открыть программу с cmd.exe из Python?

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

_ «больше всего мне удалось с помощью subprocess.call открыть либо cmd.exe, либо global_mapper.exe.» _ Мне было бы интересно увидеть этот код. – Kevin

+0

@Kevin хорошо, вы можете проверить, что даже выполнив что-то просто: импорта подпроцесс subprocess.call ([ "cmd.exe"]) Это открывает cmd.exe. Однако этого недостаточно, мне все равно нужно добавить все дополнительные аргументы в строке. – Robert

+0

Возможно, это может вам помочь. http://stackoverflow.com/questions/89228/calling-an-external-command-in-python –

ответ

1

Для запуска 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) 
+0

Большое спасибо за разъяснение. Теперь я понимаю, как это работает. Geez, программирование действительно может ускорить процесс. Спасибо всем, – Robert

1

может быть с этим:

import os 
os.system("program.exe -parameter") 
Смежные вопросы