2014-01-05 3 views
1

Вот отрывок из моего кода:Python другое приложение запуска

script_dir = os.path.dirname(os.path.abspath(__file__)) 
subprocess.Popen(["application.exe"],cwd=script_dir, close_fds=True) 

Моя проблема заключается в том, что я не могу получить код выше работает. Я пытаюсь запустить application.exe с моим кодом Python, но при его запуске ничего не происходит.

Я бегу другое приложение подобным образом, и она работает:

subprocess.Popen(["binary\\application.exe"],cwd=os.path.realpath("./binary/"), env=os.environ.copy(), close_fds=True) 

Таким образом, вопрос, что случилось с первым вызовом подпроцесса и как я могу исправить это?

+0

Два вопроса: 1) Есть ли работу приложений за пределами питона? 2) Я замечаю в том, что работает ou, задавая аргумент 'env' ... вы должны сделать это для того, который не работает? – SethMMorton

+0

@SethMMorton 1) Да, 2) Пробовал с теми же результатами. – Lucas

+0

Просто BTW, вы не должны использовать обратную косую черту для создания путей в python. Используйте os.path.join() – GreenAsJade

ответ

1

Укажите первый аргумент как абсолютный путь, используя os.path.join:

script_dir = os.path.dirname(os.path.abspath(__file__)) 
subprocess.Popen(
    [os.path.join(script_dir, "application.exe")], 
    cwd=script_dir, close_fds=True) 
+0

К сожалению, он все еще не работает. – Lucas

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