【python】 IOError: [Errno 32] Broken pipe

时间:2024-01-31 12:51:37

出现这种异常的情形是:

       一个python实现,将结果print到标准输出,

       用python tool.py > out 这种方式运行正常,

       但用python tool.py | head 这种管道方式执行时在print那行语句上出现标题所示的“IOError: [Errno 32] Broken pipe”错误

原因是:python将这种管道截取的操作当成是一种输出异常,导致异常退出。

解决方式,用try ... except Exception捕获异常即可。