如何区分Python中序列化JSON与pickle的使用技巧和区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1620个文字,预计阅读时间需要7分钟。
关于序列化,我们只需要掌握两个模块,四种方法。
两个模块:json、pickle
四种方法:- json:只能实现字典和列表的序列化- pickle:Python独有的四种方法:dump、load、dumps、loads,用于文件写入存储
关于序列化,我们只需要掌握两个模块,四种方法。
两个模块:
- json – 重点,只能实现字典和列表的序列化
- pickle – Python 独有
四种方法:
- dump 和 load – 用于文件写入存储
- dumps 和 loads – 用于网络传输(网络编程)
序列化,也就是将一个数据类型转换成另一个数据类型。我们平时使用的 list、dict 等函数就是序列化的一种。
json 模块
我们从前说过,对文件的操作都是对字符串进行操作。可是如果使用工厂函数对列表等数据和字符串相互转换会出现很大问题:
lst = [1, 2, 3, 4, 5] a = str(lst) print(repr(a)) print(list(a))输出的结果为:
'[1, 2, 3, 4, 5]' ['[', '1', ',', ' ', '2', ',', ' ', '3', ',', ' ', '4', ',', ' ', '5', ']']当将列表转换为字符串时,是将列表整体,包括列表元素和括号、逗号甚至空格作为整体转化成字符串。而当我们使用 list 函数将字符串转换为列表时,又会迭代每一个元素,我们从前的列表就变得面目全非。
本文共计1620个文字,预计阅读时间需要7分钟。
关于序列化,我们只需要掌握两个模块,四种方法。
两个模块:json、pickle
四种方法:- json:只能实现字典和列表的序列化- pickle:Python独有的四种方法:dump、load、dumps、loads,用于文件写入存储
关于序列化,我们只需要掌握两个模块,四种方法。
两个模块:
- json – 重点,只能实现字典和列表的序列化
- pickle – Python 独有
四种方法:
- dump 和 load – 用于文件写入存储
- dumps 和 loads – 用于网络传输(网络编程)
序列化,也就是将一个数据类型转换成另一个数据类型。我们平时使用的 list、dict 等函数就是序列化的一种。
json 模块
我们从前说过,对文件的操作都是对字符串进行操作。可是如果使用工厂函数对列表等数据和字符串相互转换会出现很大问题:
lst = [1, 2, 3, 4, 5] a = str(lst) print(repr(a)) print(list(a))输出的结果为:
'[1, 2, 3, 4, 5]' ['[', '1', ',', ' ', '2', ',', ' ', '3', ',', ' ', '4', ',', ' ', '5', ']']当将列表转换为字符串时,是将列表整体,包括列表元素和括号、逗号甚至空格作为整体转化成字符串。而当我们使用 list 函数将字符串转换为列表时,又会迭代每一个元素,我们从前的列表就变得面目全非。

