python中pickle模块的用法

  在编程过程中,需要保存一些数据,例如机器学习中训练好的模型,下次使用直接调用即可,pickle模块就是起到这样一个保存模型的作用。

  • pickle.dumps(obj)  将obj对象序列化为string形式
  • pickle.loads(string)  从string中读出序列化前的obj对象
>>> import pickle
>>> li = [1, 2, 3]
>>> pickle_dumps = pickle.dumps(li) #把 li 对象序列化
>>> pickle_dumps
b'\x80\x03]q\x00(K\x01K\x02K\x03e.'

>>> pickle_loads = pickle.loads(pickle_dumps) #转换为序列化之前的数据
>>> pickle_loads
[1, 2, 3]
  • pickle.dump(obj, file)  将obj对象序列化存入已经打开的file中
  • pickle.load(file)  将file中的对象序列化读出
>>> import pickle
>>> li = [1, 2, 3]
>>> pickle_dumps = pickle.dumps(li)

#将序列化后的对象存入文件
>>> with open('pickle_test', 'wb') as f:
   		#f.write(pickle_dumps)  
...     pickle.dump(li, f) #和上一句f.write(pickle_dumps)效果一样
...


>>> with open('pickle_test', 'rb') as f:
   		#pickle.loads(f.read())
...     pickle.load(f)  #和上一句pickle.loads(f.read())效果一样
...
[1, 2, 3]
  • 注意区分 dump() 与 load() 和 dumps() 与loads()的区别

猜你喜欢

转载自blog.csdn.net/zhu_1997/article/details/88411851