码迷,mamicode.com
首页 > 编程语言 > 详细

python操作json来存储简单的数据,pickle来操作复杂的数据

时间:2017-12-26 23:51:43      阅读:431      评论:0      收藏:0      [点我收藏+]

标签:coding   int   lis   复杂   strong   maps   类型   反序列化   open   

json作为不同语言间进行数据交互的媒介,在当下已经渐渐取代了之前的xml,看一波python操作json

 1 # coding = ascii
 2 
 3 import json
 4 import pickle
 5 import sys
 6 import os
 7 ‘‘‘
 8 练习json,pickle
 9 json类型的数据可以实现不同语言间的数据交互,
10 python3中引入python是为了实现将字典,列表等格式的数据
11 打包成字符串形式,即将其序列化,使用eg.json.dump(list,f) or f.write(json.dumps(list))实现。
12 反序列化:将字符串格式的文本内容解析为对应的原格式数据从而实现操作,
13 使用eg.json.load(f) or json.loads(f.read())
14 pickle的用法跟json完全一样,只是pickle支持将复杂对象打包成字符串形式
15 而json做不到。
16 ‘‘‘
17 #序列化(serializable)
18 # list = [1,2,3,4,5,6]
19 #maps = {"name":"Alex","age":30}
20 # f = open("jsonpractice.text","w")
21 # f.write(json.dumps(list)+"\n"+json.dumps(maps))
22 # f.close()
23 
24 #反序列化
25 # f1 = open("jsonpractice.text","rb")
26 # data = json.loads(f1.read())
27 # print(data)
28 # for i in data.keys():
29 #     print(data[i])
30 # f1.close()
31 
32 #pickle序列化
33 # def goby():
34 #     print("good bye")
35 # maps = {"name":"Alex","age":30}
36 # maps["func"] = ‘‘‘def goby():
37 #     print(‘good by‘)‘‘‘
38 # f = open("jsonpractice2.text","wb")
39 # f.write(pickle.dumps(maps)) #pickle.dump(maps,f)
40 # f.close()
41 
42 #pickle反序列化
43 # f1 = open("jsonpractice2.text","rb")
44 # #data = pickle.loads(f1.read())
45 # data = pickle.load(f1)
46 # print(data["func"])
47 # exec(data["func"])
48 # f1.close()
49 
50 
51 # 字符转码实现
52 # test = "print(‘你好‘)"
53 # print(sys.getdefaultencoding())
54 # print(test.encode("utf-8").decode("ascii","replace").encode("ascii","replace").decode("utf-8"))
55 #exec(test)

 

python操作json来存储简单的数据,pickle来操作复杂的数据

标签:coding   int   lis   复杂   strong   maps   类型   反序列化   open   

原文地址:https://www.cnblogs.com/g177w/p/8120492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!