Почему модуль подпроцесса дает мне WinError193? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь открыть блокнот с помощью модуля подпроцесса, но возникает ошибка.

import subprocess

subprocess.Popen(r'C:\Users\user\Desktop\notepad.lnk')

Ошибка:

Traceback (most recent call last):   File

"C:\Python36\kodovi\proba.py", line 2, in <module>

    subprocess.Popen(r'C:\Users\user\Desktop\notepad.lnk')   File
"C:\Python36\lib\subprocess.py", line 709, in __init__

    restore_signals, start_new_session)   File "C:\Python36\lib\subprocess.py", line 997, in _execute_child

    startupinfo) OSError: [WinError 193] %1 is not a valid Win32 application

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Я считаю, что ваша проблема в том, что сам Попен не следует по символическим ссылкам Windows.Вы должны включить оболочку в выполнение:

subprocess.Popen(r'C:\Users\user\Desktop\notepad.lnk', shell=True)

, потому что оболочка ДОЛЖНА разрешать ссылки перед вызовом самого Popen.

0 голосов
/ 14 февраля 2019

Из ошибки видно, что ярлыки не рассматриваются как подпроцессные приложения.Следующий код можно использовать для запуска ярлыка -

subprocess.Popen(r'start C:\Users\user\Desktop\notepad.lnk', shell=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...