我有一个Python脚本,需要执行一个外部程序,但由于某种原因失败了。
如果我有以下脚本:
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
然后它失败,并出现以下错误:
“C:\Temp\a”不能识别为内部或外部命令、可操作程序或批处理文件。
如果我用引号转义程序:
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();
注意交换的单/双引号。
无论这里是否有Notepad参数,它都会失败并显示错误消息
文件名、目录名或卷标签语法不正确。