Subprocess.run()找不到路径

时间:2018-10-29 23:11:26

标签: python-3.x path subprocess

我写的脚本有问题。

我只是试图运行可执行文件(我以arduino.exe为例)。但是,我得到的是FileNotFoundError: [WinError 2]a non-zero exit status(分别取决于Shell=Trueoff还是on)。

我整个脚本的代码很简单:

import subprocess
subprocess.run("C:\Program Files (x86)\Arduino\arduino.exe",shell=True,check=True)

我知道Shell = True会带来安全风险,但没有找到其他方法来解决路径未找到错误。我的另一个猜测是代码在路径中的数字和空格上挣扎了吗?

非常感谢您的帮助。

1 个答案:

答案 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)