python操作json來存儲簡單的數據,pickle來操作復雜的數據
阿新 • • 發佈:2017-12-27
import fun code key dump replace text 完全 alex
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來操作復雜的數據