import os
path = "C:/Documents and Settings/flow_model/"
os.chdir(path)
os.system("flow.exe")
备注:由barlop添加
一位评论者问为什么这样可以,下面是原因。
问题在于os.system("...")在路径中有空格时无法正常工作。(注意os.system可以使用('"...."')但无论如何)
如果OP尝试从cmd提示符运行程序,他们会清楚地看到错误。
C:\carp>type blah.py
import os
os.system(R"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
C:\carp>python blah.py
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
C:\carp>
所以对于os.system("calc.exe")来说是可以的(因为calc.exe在路径环境变量中),或者对于os.system(R"c:\windows\system32\calc.exe")也是可以的。那个路径中没有空格。
C:\>md "aa bb cc"
C:\>copy c:\windows\system32\calc.exe "c:\aa bb cc\cccalc.exe"
1 file(s) copied.
这个可以工作(假设文件路径为"c:\aa bb cc\cccalc.exe")
import os
os.chdir(R"c:\aa bb cc")
os.system("cccalc.exe")
其他选项包括subprocess.run和subprocess.popen。
C:\windows\system32\calc.exe
或 Chrome(位于 c:\program files..)。B) 如果您尝试从 cmd 控制台运行它(或者是 IDE 的终端,例如 VS Code 的终端)C:\blah>python blah.py<ENTER>
,您会清楚地看到发生了什么。'C:/Documents' 不被识别为内部或外部命令、可执行程序或批处理文件。
- barlop