Я хочу перезапустить драйвер с помощью DevCon из скрипта Python. Он работает из командной строки с помощью этой команды:
devcon restart \"sd0007322081041363_kcanv\"
Я пробовал это:
os.system("devcon restart \"sd0007322081041363_kcanv\"")
с результатом:
'devcon' is not recognized as an internal or external command
Я читал, что os.system устарела, и мне нужно использовать subprocess.check_output, поэтому я пробую это:
subprocess.check_output(['devcon', 'restart', '"sd0007322081041363_kcanv"'])
с результатом:
WindowsError:[Error 2] The system cannot find the file specified
и это:
subprocess.check_output('devcon restart "sd0007322081041363_kcanv"', shell=True)
с результатом:
subprocess.CalledProcessError: Command 'devcon restart "sd0007322081041363_kcanv"' returned non-zero exit status 1
и это:
subprocess.Popen("devcon restart \"sd0007322081041363_kcanv\"", shell=True, stdout=subprocess.PIPE).stdout.read()
результат:
'devcon' is not recognized as an internal or external command
и это:
try:
subprocess.check_output('devcon disable "sd0007322081041363_kcanv" /f',shell=True,stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))
с результатом:
RuntimeError: command 'devcon disable "sd0007322081041363_kcanv" /f' return with errpr (cpde 1): 'devcon' is not recognized as an internal or external command, operable program or batch file
devcon.exe находится в Windows/System32 и указан в системном пути.
Я знаю, что это может быть повторяющийся вопрос, но я пробовал много решений в stackoverflow, но я не могу решить эту проблему.
subprocess.Popen("C:\\Windows\\System32\\devcon.exe restart \"sd0007322081041363_kcanv\"", shell=True, stdout=subprocess.PIPE).stdout.read()
, но результат почти такой же. Результат:'C:\Windows\System32\devcon.exe' is not recognized as an internal or external command
- person Budlog   schedule 20.06.2017