Popen в Windows на Python как успешен, так и не работает одновременно - PullRequest
0 голосов
/ 19 ноября 2018
LYX_EXE = r'"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"'
process = subprocess.Popen(LYX_EXE)

Это работает - программа загружается.

LYX_EXE = r'"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"'
process = subprocess.Popen([LYX_EXE])

Это не удается: я получаю «PermissionError: [WinError 5] Доступ запрещен».

Что я сделал не так? Мне нужен второй тип вызова, так как я хочу использовать параметры.

1 Ответ

0 голосов
/ 19 ноября 2018

Я думаю, что во втором типе вызова вы должны избегать цитирования (поскольку он уже находится в списке, исполняемый файл и аргументы уже разделены):

LYX_EXE = r"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"
process = subprocess.Popen([LYX_EXE])

См. Также: https://docs.python.org/2/library/subprocess.html#converting-argument-sequence

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...