38、Python文件操作与核心类型总结

Python文件操作与核心类型总结

1. Python文件模式与对象序列化

在Python中,存储序列化对象的文件通常需要以二进制模式打开。在Python 3.X中,二进制模式是必需的,因为pickler创建和使用字节字符串对象,而这些对象意味着二进制模式文件(在3.X中,文本模式文件意味着字符串对象)。在早期的Python版本中,对于协议0(默认协议,创建ASCII文本),使用文本模式文件是可以的,只要始终使用文本模式;更高的协议则需要二进制模式文件。Python 3.X的默认协议是3(二进制),即使对于协议0也会创建字节。

Python 2.X有一个 cPickle 模块,它是 pickle 的优化版本,可以直接导入以提高速度。Python 3.X将这个模块重命名为 _pickle ,并在 pickle 中自动使用它,脚本只需导入 pickle ,让Python自行优化。

2. 以JSON格式存储Python对象

pickle 模块可以将几乎任意的Python对象转换为专门为Python开发的专有格式,并经过多年优化以提高性能。而JSON是一种较新的、正在兴起的数据交换格式,它与编程语言无关,并且得到了各种系统的支持。例如,MongoDB使用二进制JSON格式将数据存储在JSON文档数据库中。

JSON不支持像 pickle 那样广泛的Python对象类型,但它的可移植性在某些情况下是一个优势,并且它提供了另一种序列化特定类别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值