2016-02-18 4 views
1

У меня сумасшедшая проблема. У меня есть cmd для запуска exe-файла, и он выполняется без ошибок. Командная строка cmd в командной строке:Запуск exe-файла в python - не работает

E:\project\cpp\myfirst.exe 

Я должен назвать этот exe-файл в моем сценарии python. Я использую subprocess.call. Но я получаю сообщение об ошибке. Код и ошибка заключается в следующем

import subprocess 
subprocess.call('E:\\project\\cpp\\myfirst.exe') 

ошибка я получаю

ERROR: Could not open myfirst setup file 
1 

Я не смог найти решение. Я также пробовал вызов os.system. Но все та же ошибка. Можете ли вы, ребята, помочь мне.

Примечания: файл ех генерируются из кода CPP

благодаря

+0

При запуске из ЦМД, вы запустите его из того же каталога (т.е. так же, как 'myfirst.exe')? – bereal

+0

Да. Я запускаю его из одного каталога. –

ответ

2

Программы, кажется, ищет какой-то файл конфигурации в каталоге, который не всегда совпадает с тем, где в исполняемый файл. Попробуйте вместо этого:

import subprocess 
subprocess.call('myfirst.exe', cwd=r'E:\project\cpp') 

Если вы написали myfirst.exe себя, рассмотреть вопрос об изменении логики подстановок, так что он проверяет собственную директорию исполняемого файла.

+0

Спасибо .. отлично работает сейчас с добавлением –

-1

Под Linux Я всегда нашел механизм popen, чтобы быть более надежным.

from subprocess import Popen, PIPE process = Popen(['swfdump', 
'/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE) stdout, stderr =process.communicate() 

Ответ взяты из

How to use subprocess popen Python

Смежные вопросы