首页 > 编程语言 > 详细

python模块序列化--json&pickle

时间:2016-02-28 18:10:48      阅读:188      评论:0      收藏:0      [点我收藏+]

参考:http://www.cnblogs.com/alan-babyblog/p/5209717.html

用于序列化的两个模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load

pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load  (不仅可以序列化字典,列表...还可以把一个程序,一个类给序列化掉)

python的具体实现的例子

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 import json, pickle
 5 
 6 data = {k1:123, k2:hello}
 7 
 8 ## json
 9 # json.dumps 将数据通过特殊的形式转换为所有程序都识别的字符串
10 j_str = json.dumps(data)
11 print(j_str)        #{"k2": "hello", "k1": 123}
12 
13 # json.loads 读取json.dumps特殊处理后的数据并返回该对象
14 j_str_loads = json.loads(j_str)
15 print(j_str_loads)      #{‘k2‘: ‘hello‘, ‘k1‘: 123}
16 
17 # json.dump 将数据通过特殊的形式转换为所有程序都识别的字符串,并写入文件
18 with open(file.json, w) as fp:
19     json.dump(data, fp)
20 
21 with open(file.json, r) as fp:
22     data_j_load = json.load(fp)
23 print(data_j_load)      #{‘k2‘: ‘hello‘, ‘k1‘: 123}
24 
25 
26 ## pickle
27 # pickle.dumps将数据通过特殊的形式转换成只有python语言能识别的字符串
28 p_str = pickle.dumps(data)
29 print(p_str)       #b‘\x80\x03}q\x00(X\x02\x00\x00\x00k2q\x01X\x05\x00\x00\x00helloq\x02X\x02\x00\x00\x00k1q\x03K{u.‘
30 
31 # pickle.loads 读取pickle.dumps特殊处理后的数据并返回该对象
32 p_loads = pickle.loads(p_str)
33 print(p_loads)      #{‘k2‘: ‘hello‘, ‘k1‘: 123}
34 
35 # pickle.dump将数据通过特殊的形式转换成只有python语言识别的字符串,并写入文件
36 with open(file.pickle, wb) as fp:
37     pickle.dump(data, fp)
38 
39 # pickle.loads 从文件中读取pickle.dumps特殊处理后的数据并返回该对象
40 with open(file.pickle, rb) as fp:
41     data_p_load = pickle.load(fp)
42 print(data_p_load)        #{‘k2‘: ‘hello‘, ‘k1‘: 123}

 

python模块序列化--json&pickle

原文:http://www.cnblogs.com/qing-add/p/5225048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!