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

时间:2017-12-20 16:09:52

标签: python bash macos python-3.x

我试图让python脚本的输出可以获取。即我希望能够跑:

constraints

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

$ source <(python example.py)

这是example.py:

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

这有什么办法吗?我试图尝试捕获异常(BrokenPipeError),但它似乎不起作用。这个例外似乎阻止了采购工作,因为

print("export ENV_VAR=abc")

什么都没给我

1 个答案:

答案 0 :(得分:1)

可以使用evalexportPython脚本中的变量转换为当前Bash环境:

export $( python example.py )
echo $ENV_VAR

...或...

eval $( python example.py )
echo $ENV_VAR

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