import pickle
# 需要被序列化的数据
obj = 123,[1,2,3],"hello world",{'key1':'value1','key2':'value2'}
# 序列化到文件a.pkl
with open(r'./a.pkl','wb+') as f:
pickle.dump(obj,f)
# 加载并打印序列化数据
with open(r'./a.pkl','rb+') as f:
print(pickle.load(f))
# 序列化到内存(字符串格式保存),然后对象可以以任何方式处理如通过网络传输
obj1 = pickle.dumps(obj)
print(type(obj1)) # 输出:<type 'str'>
print(obj1) # 输出:python专用的存储格式,16进制编码
obj2 = pickle.loads(obj1)
print(type(obj2)) # 输出:<type 'tuple'>
print(obj2) # 输出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value'})