python模块之pickle
和json不同的是:
- json只支持str,int,tuple,list,dict。
- 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.'