python3.4 pickle 序列化大于4GB文件

挑干的说

python pickle 序列化大于4GB文件,在使用python3.4以上版本时,只需要指定protocol=4关键字参数即可。其他版本需要将数据分块。

关于协议版本

pickle目前有6个不同的协议版本。越高版本的协议所需的Python版本越新。

  • protocol 0:是最初的协议,是“人类可读”的协议,向后兼容早期版本的Python。
  • protocol 1:是一个古老的二进制格式,向后兼容早期版本的Python。
  • protocol 2:是在Python 2.3中引入的。它提供了对新类型更有效的存取。查看PEP 307 来了解 protocol 2 改进的细节。
  • protocol 3:是在Python 3.0中引入的。它明确的支持字节(bytes)对象,并且不能被Python 2.x存取。 这是Python 3.0 -3.7使用的默认协议。
  • protocol 4:是在Python 3.4中引入的。它增加了对非常大的对象的序列化支持,以及可以序列化更多种类的对象,做了一些数据格式的优化。这是从Python 3.8开始使用的默认协议。查看PEP 315来4 了解protocol 4 改进的细节。
  • protocol 5:是在Python 3.8中引入的。它增加了对out-of-band数据的支持,以及对in-band数据的加速和优化。 查看PEP 315来4 了解protocol 5 改进的细节。

pickle.HIGHEST_PROTOCOL
一个整数,可用的最高协议版本。 这个值可以作为协议值传递给dump()和dumps()函数以及Pickler构造函数。

pickle.DEFAULT_PROTOCOL

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值