【问题标题】:Subprocess.run() cannot find pathSubprocess.run() 找不到路径
【发布时间】:2018-10-29 23:11:25
【问题描述】:

我写的脚本有问题。

我只是想运行一个可执行文件(我以arduino.exe 为例)。但是,我要么得到FileNotFoundError: [WinError 2] 要么得到a non-zero exit status(取决于Shell=True 分别是offon)。

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

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

我知道 Shell=True 存在安全风险,但没有找到解决路径未找到错误的其他方法。我的另一个猜测是代码在路径中的数字和空格方面遇到了问题?

非常感谢任何帮助。

【问题讨论】:

    标签: python-3.x path subprocess


    【解决方案1】:

    您需要转义反斜杠字符。 每个反斜杠使用\\ 而不是\

    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)
    

    【讨论】:

    • 成功了,谢谢!供将来参考:为什么要使用双斜杠?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2013-05-27
    • 2013-02-26
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多