java 调用cmd,cmd调用python(BrokenPipeError)

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对传输的数据多段接受。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值