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

ua4mk5z4  于 2022-11-01  发布在  Python
关注(0)|答案(1)|浏览(160)

我正在groovy中运行一个shell,它执行一个python脚本。我可以通过将python脚本分配给一个变量来获得它的输出。但是,我也想捕获异常,但是在发生异常的情况下,我无法获得python跟踪。groovy脚本:

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

如果Python没有引发异常,则打印脚本的输出,但如果出现异常,则打印null。有解决方案吗?

uoifb46i

uoifb46i1#

Python将异常写入标准错误,因此如果你想在正常输出中捕获它们,你应该通过在bash输入中添加2>&1来将stderr重定向到stdout。
在您的情况下,它将是bash("""python3 some_script.py 2>&1""")
我假设bash函数将参数发送到bash shell。

相关问题