python模块之pickle

时间:2022-03-03 23:02:57

和json不同的是:

  1. json只支持str,int,tuple,list,dict。
  2. pickle支持python里所有的数据类型,但是只能在python里序列化,不跨平台,python独有。

代码示例:

import pickle

# dump、dumps、load、loads和json里面的一样

d = {'name': 'alex', 'age': 22}
l = [1, 2, 3, 4, 'rain'] print(pickle.dumps(d)) # 是bytes类型,加密了, 不可直接读 with open('data.pkl', 'wb') as f:
pickle.dump(d, f) # with open('data.pkl', 'rb') as f:
d = pickle.load(f)
print(d) # {'name': 'alex', 'age': 22} # 函数都能被序列化 def sayhi():
print('dddd') print(pickle.dumps(sayhi)) # b'\x80\x03c__main__\nsayhi\nq\x00.'