python脚本的源输出失败,管道异常中断

我试图让
python脚本的输出是可源的.即我希望能够运行:

$source <(python example.py)

它总是以同样的问题失败:

Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe

这是example.py:

print("export ENV_VAR=abc")

有没有办法解决?我试图尝试捕获异常(BrokenPipeError)但它似乎不起作用.这个例外似乎阻止了采购工作

$echo $ENV_VAR

没有给我什么

最佳答案 也许eval或export可用于将Python脚本中的变量导入当前的Bash环境:

export $( python example.py )
echo $ENV_VAR

…要么…

eval $( python example.py )
echo $ENV_VAR

可能有更好的方法来处理这个问题,尽管两者都应该输出“abc”.

点赞