Popen 不会引发异常

问题描述 投票:0回答:1

Popen 没有引发异常,因此我无法捕获它。我错过了什么吗?它在终端窗口上打印错误,就好像成功一样。参考图片。但是,如果给出有效的参数,它就会正确启动。

import subprocess
try:
    subprocess.Popen(["xdg-open", "invalid"])
    print("Launched")
except:
    print("Exception")

https://photos.app.goo.gl/G6xWDstUWuL8Py3V6

环境:Python 3.10.12 [GCC 11.4.0]、Ubuntu 22.04.4 LTS

python-3.x ubuntu popen
1个回答
0
投票

找到了我正在寻找的答案:

Popen 异常示例

需要做这样的事情:

import subprocess

try:
    res = subprocess.Popen(["xdg-open", "/home/sandeep/Scripts/ControlPanel/Data/ControlPanel.ini"],stdout=subprocess.PIPE,stderr=subprocess.PIPE); output,error = res.communicate()
    if output:
        print(" ret> ",res.returncode)
        print(" OK> output ",output)
    if error:
        print(" ret> ",res.returncode)
        print(" Error> error ",error.strip())
except:
    print("Exception")
© www.soinside.com 2019 - 2024. All rights reserved.