我写的脚本有问题。
我只是试图运行可执行文件(我以arduino.exe
为例)。但是,我得到的是FileNotFoundError: [WinError 2]
或a non-zero exit status
(分别取决于Shell=True
是off
还是on
)。
我整个脚本的代码很简单:
import subprocess
subprocess.run("C:\Program Files (x86)\Arduino\arduino.exe",shell=True,check=True)
我知道Shell = True会带来安全风险,但没有找到其他方法来解决路径未找到错误。我的另一个猜测是代码在路径中的数字和空格上挣扎了吗?
非常感谢您的帮助。
答案 0 :(得分:0)
您需要转义反斜杠字符。
每个反斜杠使用\\
代替\
subprocess.run("C:\\Program Files (x86)\\Arduino\\arduino.exe",shell=True,check=True)
或者您可以使用原始字符串文字
subprocess.run(r"C:\Program Files (x86)\Arduino\arduino.exe",shell=True,check=True)