繁体   English   中英

在运行引发异常的 python 脚本后捕获 shell output

[英]Capture shell output after running python script that raised Exception

我在 groovy 中运行 shell,它执行 python 脚本。 通过将 python 脚本分配给一个变量,我能够得到它的输出。 但是,我也想捕获异常,但如果出现异常,我无法获取 python 跟踪。 groovy 脚本:

script{
       try{
             var_name = bash("""python3 some_script.py""")
             echo "$(var_name)"
           }
       catch(exc){
            echo "$(var_name)"
                  }
       }

如果 python 未引发异常,则打印脚本中的 output,但如果打印中出现异常 null。 任何解决方案?

Python 将异常写入标准错误,因此如果您想将它们与正常的 output 一起捕获,您应该通过将2>&1添加到 ZD574D4BB40C84861791A69469 输入将 stderr 重定向到 stdout

在您的情况下,它将是bash("""python3 some_script.py 2>&1""")

我假设bash function 将参数发送到 bash Z2591C98B701419FE624E918B8。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM