Python:调用可执行文件失败

时间:2015-11-23 00:11:47

标签: python windows directory subprocess directory-structure

我正在尝试在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复制到本地目录中,我可以从那里调用它,所以我确定我必须正在做一些noob-ish以及我如何使用目录。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

问题在于我使用的是64位Windows,它不使用System32(从32位Python运行)。 64位Windows通常使用SysWOW64而不是System32。调用虚拟目录Sysnative而不是其中任何一个将根据您正在运行的内容(对我来说,32位Python)来排序需要调用的目录。 Fsquirt仅存在于System32中,而不存在于SysWOW64中。这与记事本之类的东西不同,后者存在于两者中。

subprocess.call("C:/Windows/Sysnative/fsquirt.exe")