Python: сбой вызова исполняемого файла
Я пытаюсь запустить любой из них в Python...
subprocess.call(r"C:\Windows\System32\fsquirt.exe", shell=True)
subprocess.call("C:\\Windows\\System32\\fsquirt.exe", shell=True)
subprocess.call(r"C:/Windows/System32/fsquirt.exe", shell=True)
subprocess.call("C:/Windows/System32/fsquirt.exe", shell=True)
Все они приводят к...
'C:/Windows/System32/fsquirt.exe' is not recognized as an internal or external command,
operable program or batch file.
Если я просто скопирую fsquirt.exe в локальный каталог, я могу вызвать его оттуда, так что я уверен, что должен просто что-то делать с тем, как я использую каталоги.
Как мне это сделать?
1 ответ
Проблема была в том, что я использую 64-битную Windows, которая не использует System32 (работает с 32-битным Python). 64-битная Windows обычно использует SysWOW64 вместо System32. Вызов виртуального каталога Sysnative вместо любого из них определит, какой из них нужно вызывать, исходя из того, что вы используете (для меня 32-битный Python). Fsquirt существует только в System32, а не в SysWOW64. Это отличается от чего-то вроде Блокнота, который существует в обоих.
subprocess.call("C:/Windows/Sysnative/fsquirt.exe")