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

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

我试图让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

没有给我什么

python bash macos python-3.x
1个回答
1
投票

也许evalexport可用于将Python脚本中的变量导入当前的Bash环境:

export $( python example.py )
echo $ENV_VAR

...要么...

eval $( python example.py )
echo $ENV_VAR

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

© www.soinside.com 2019 - 2024. All rights reserved.