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")
Другие вопросы по тегам