python模块之pickle

和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.'

 

posted @ 2018-11-22 19:37  梁少华  阅读(257)  评论(0编辑  收藏  举报