我在子流程中遇到一些问题,我无法弄清为什么它会引发异常,正在拖曳其他帖子和旧的google,但没有一个帖子与此类似
lamepath = ("C:\Windows\System32\lame.exe --preset extreme ")
wavuse = ("E:\test\wavefile.wav")
mp3use = ("E:\test\mp3file.mp3")
subprocess.call(lamepath +wavuse +" " +mp3use)
但它会引发以下异常:C:\ Windows \ System32 \ lame.exe'无法识别为内部或外部命令,可操作程序或批处理文件。
如果我用print()得到相同的语句: C:\ Windows \ System32 \ lame.exe-预设极端“ E:\ test \ wavefile.wav”“ E:\ test \ mp3file.mp3”
如果我将此输出粘贴到cmd,则打印效果可以完美运行。
C:\ Windows \ System32 \位于PATH中,并且lame.exe确实存在。 COMSPEC也是正确的
答案 0 :(得分:0)
今天,当您在64位Windows上使用32位进程时,我学到了一些新知识, 您尝试引用操作系统\ Windows \ System32中的文件 “有帮助”重写了路径,因此您实际引用 \ Windows \ SysWOW64,即32位可执行文件和DLL所在的地方。