Python 基础(十七)--序列化

pickle模快

pickle.dumps():可将特有数据类型的转换为bytes类型

pickle.loads():将bytes类型转化回来

>>> import pickle
>>> a = {'name':'xing','weight':'110'}
>>> a_dump = pickle.dumps(a)
>>> print(a_dump)            # a_dump可写入文件
b'x80x03}qx00(Xx04x00x00x00nameqx01Xx04x00x00x00xingqx02Xx06x00x00x00weightqx03Xx03x00x00x00110qx04u.'

>>> c= pickle.loads(a_dump)
>>> print(c)
{'name': 'xing', 'weight': '110'}

 pickle.dump(data,file):直接将data序列化写入file

pickel.load(file):将文件反序列化,先进先出

json模块

json.dump(data,f):序列化写入file但是dump生成的是str类型而不是bytes类型

josn.load(file):只能load一次

json.dumps()

json.loads()

区别

pickle:只支持Python

    支持Python中所有数据类型

json:支持所有语言

    只支持Python中常规数据类型

原文地址:https://www.cnblogs.com/lalaxing/p/11364773.html