Python多进程 struct.error: ‘i‘ format

在使用Python多进程处理大文件时,由于pickle序列化数据过大,触发'i'格式错误。该问题在Python3.8非Windows系统已修复。解决方案包括将结果写入文件后汇总,检查Python版本或使用dask等并行处理库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当对多个文件进行同样的预处理时,为了加快处理速度会使用Python多进程。每个进程返回数据给父进程,做最后的合并处理。

问题描述与分析

代码在处理大文件时候会抛出如下错误,但当处理的文件较小时候,一切正常。

concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/home/dxi/software/python3.7.9/lib/python3.7/concurrent/futures/process.py", line 205, in _sendback_result
    exception=exception))
  File "/home/dxi/software/python3.7.9/lib/python3.7/multiprocessing/queues.py", line 364, in put
    self._writer.send_bytes(obj)
  File "/home/dxi/software/python3.7.9/lib/python3.7/multiprocessing/connection.py", line 200, in send_bytes
    self._send_bytes(m[offset:offset + size])
  File "/home/dxi/software/python3.7.9/lib/python3.7/multiprocessing/connection.py", line 393, in _send_byte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值