2013-11-08 4 views
1

Я пытаюсь запустить .exe-файл в python2.7. Я попробовал все, что мог, от поиска. Вот некоторые код, который я пробовал:Как запустить файл .exe в Python

subprocess.Popen(r"C:\Programs Files\Internet Explorer\iexplore.exe") 

И:

subprocess.Popen(["cmd","/c",r"C:\Programs Files\Internet Explorer\iexplore.exe"]) 

И:

os.popen(r"C:\Programs Files\Internet Explorer\iexplore.exe") 

Все, кроме первого (который воспитывает ошибка Windows), кажется, не запустите iexplore.exe.

Есть ли другой способ запустить файл .exe?

+5

Это «программные файлы» (и, возможно, «программные файлы (x86)» в 64-разрядных версиях Windows). Также попробуйте использовать косые черты. Вам также может потребоваться кавычки в вашей строке, если в вашем пути есть пробелы (возможно). – Thomas

+1

Черты - это не проблема; он использует необработанные строки. Это просто путь с ошибкой. – abarnert

+2

@Thomas вам нужно только убежать или процитировать пробелы в путях, когда вы передаете 'shell = True' на' Popen'. Использование косых черт * может * сделать вашу жизнь проще в некоторых ситуациях, но здесь это не имеет значения - Windows принимает как одинаковые, так и разделители путей во всех ситуациях. – lvc

ответ

5

Как пояснил Томас в комментариях, C:\Programs Files не стандартный каталог на Windows. Конечно, вы могли бы создать каталог с таким именем, но вряд ли вы это сделали. Скорее всего, вы хотели C:\Program Files (уведомление Program против Programs).

Лучший способ избежать подобных проблем - открыть папку в Проводнике, включить адресную строку и скопировать и вставить путь непосредственно в ваш код. Тогда вы поймете, что это правильно.

Кроме того, вы действительно должны посмотреть, что говорит WindowsError. У почти наверняка будет какой-то текст о невозможности найти такой файл. Даже если это вам не поможет, это поможет людям решить вашу проблему для вас на сайте типа SO.

8

Если вы просто хотите, чтобы открыть веб-браузер, вы могли бы сделать это вместо:

import webbrowser 
webbrowser.open('www.google.com') 
Смежные вопросы