During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\test.py", line 161, in <module>
_test_string()
File "E:\test.py", line 40, in _test_string
log.info("start (%s)" % s_path)
File "E:\logger.py", line 697, in info
__setLogCache(Def_sInfoStr, strData)
File "E:\logger.py", line 431, in __setLogCache
print(logData)
BrokenPipeError: [Errno 32] Broken pipe
在调用过程中,导致python代码阻滞,不能继续执行下去。所以强制关闭cmd导致报此错误。
所以实际上和python本身是没有多大关系的,网上一堆的方案都和当前bug无关。
唯一的原因就是:python这里的log.info信息会通过管道传输给java,java最终会接受数据,然后显示到控制台。
当python传输给java的字符串过长时,就会导致传输管道阻滞,这时候,需要java接收时对管道的传输数据进行处理接受。
最终的python解决方法时,减少管道传输的字符串,使用代码能够正常运行。
java对传输的数据多段接受。