python序列化之pickle

来自引用:

1、什么东西能用pickle模块存储?

 

  • 所有Python支持的 原生类型 : 布尔, 整数, 浮点数, 复数, 字符串, bytes(字节串)对象, 字节数组, 以及 None.
  • 由任何原生类型组成的列表,元组,字典和集合。
  • 由任何原生类型组成的列表,元组,字典和集合组成的列表,元组,字典和集合(可以一直嵌套下去,直至Python支持的最大递归层数).
  • 函数,类,和类的实例(带警告)。

 

【摘自《深入Python》】

2、示例(保存数据到PICKLE文件):

 

[python] view plain copy
 
  1. #encoding:UTF-8  
  2. import pickle  
  3.   
  4. #序列化  
  5. def dump_pickle():  
  6.     user={}  
  7.     user['id']=1  
  8.     user['name']='tanweijie'  
  9.     user['email']='tanweijie@outlook.com'  
  10.     user['sex']='boy'  
  11.   
  12.     #with保证自动关闭文件  
  13.     #设置文件模式为'wb'来以二进制写模式打开文件  
  14.     with open('C:/Users/Mr_Tank_/Desktop/user.pickle','wb') as f:  
  15.         #dump()函数接受一个可序列化的Python数据结构  
  16.         pickle.dump(user,f)  
  17.         print('success')  
  18.   
  19. #反序列化  
  20. def load_pickle():  
  21.     with open('C:/Users/Mr_Tank_/Desktop/user.pickle','rb') as f:  
  22.         user=pickle.load(f)  
  23.     #user变量是一个字典      
  24.     print(user)  
  25.       


3、结果:

 

 

[python] view plain copy
 
  1. >>> dump_pickle()  
  2. success  
  3. >>> load_pickle()  
  4. {'id': 1, 'name': 'tanweijie', 'sex': 'boy', 'email': 'tanweijie@outlook.com'}  

 

posted @ 2016-08-15 15:27  哈嘉好啊  阅读(191)  评论(0编辑  收藏  举报