首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行引发异常的python脚本后捕获shell输出

运行引发异常的python脚本后捕获shell输出
EN

Stack Overflow用户
提问于 2022-02-01 15:11:44
回答 1查看 946关注 0票数 0

我正在groovy中运行一个shell,它执行python脚本。通过将python脚本赋值给一个变量,我能够得到它的输出。不过,我也希望捕获异常,但如果出现异常,则无法获得python跟踪。groovy脚本:

代码语言:javascript
运行
复制
script{
       try{
             var_name = bash("""python3 some_script.py""")
             echo "$(var_name)"
           }
       catch(exc){
            echo "$(var_name)"
                  }
       }

如果没有从python引发的异常,则会打印脚本的输出,但如果输出为null,则打印异常。有什么解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-01 17:11:23

Python将异常写入标准错误,因此,如果您想要捕获它们以及正常的输出,您应该通过将2>&1添加到bash输入将stderr重定向到stdout。

在您的例子中,它将是bash("""python3 some_script.py 2>&1""")

假设bash函数将参数发送到bash。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70942905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档