我有一个Python脚本,它需要执行一个外部程序,但是由于某种原因失败了。
如果我有以下脚本:import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
然后失败,并出现以下错误:'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.
如果我用引号转义程序:import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
那就行了。但是,如果我添加了一个参数,它将再次停止工作:import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
执行程序并等待其完成的正确方法是什么?我不需要读取它的输出,因为它是一个可视化程序,可以完成一项工作,然后退出,但我需要等待它完成。
另外请注意,将程序移动到非间隔路径也不是一个选项。
这也不起作用:import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
注意交换的单引号/双引号。
无论是否有记事本参数,它都会失败,并显示错误消息The filename, directory name, or volume label syntax is incorrect.