PythonStudy——pickle 模块 (泡菜)
# 为什么有很多序列化和反序列化模块 # 因为程序中会出现各种各样的对象,如果要将这些对象持久化存储,必须先序列化 # 只有序列化存储后,必须有对应的反序列化,才能保证存储的数据能被重新读取使用 # 什么是序列化:对象 => 字符串 # 为什么序列化:存 或 传 # 为什么要反序列化:再次使用 # 为什么有很多序列化模块:存与取的算法可以多种多样,且要配套 import pickle obj = {"name": 'Owen', "age": 18, "height": 180, "gender": "男"} # 序列化 r1 = pickle.dumps(obj) print(r1) with open('2.txt', 'wb') as wf: pickle.dump(obj, wf) # 反序列化 with open('2.txt', 'rb') as rf: data = rf.read() o1 = pickle.loads(data) print(o1, type(o1)) rf.seek(0, 0) # 游标移到开头出现读 o2 = pickle.load(rf) print(o2, type(o2))