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对象类型,但它的可移植性在某些情况下是一个优势,并且它提供了另一种序列化特定类别
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



