python入門之json與pickle資料序列化
阿新 • • 發佈:2018-12-27
前提例項:
將一個字典存放在檔案裡
#存入資料
info = { 'name':'chy', 'age':18 } f = open("test.txt","w") f.write(str(info)) f.close()
#讀取資料
f = open("test.txt","r") data = eval(f.read()) f.close()
print(data["name"])
以上使用str()和eval()函式對資料進行操作並不是規範使用,這樣很low,所以對於這種字典形式的資料的錄入轉換,就需要引入json了。
#存入資料import json info = { 'name':'chy', 'age':18 } f = open("test.txt","w") f.write(json.dumps(info)) f.close()
#讀取資料 import json f = open("test.txt","r") data = json.loads(f.read()) f.close() print(data["name"])
另外pickle和json使用方式相似(提示,如果字典的值有函式名的話,那麼在讀取的程式裡必須有相同函式名的函式,內容不必一樣)
#存入資料,將字典轉換為二進位制資料import pickle info = { 'name':'chy', 'age':18 } f = open("test.txt","wb") f.write(pickle.dumps(info)) f.close()
#讀取資料 import pickle f = open("test.txt","rb") data = pickle.loads(f.read()) f.close() print(data["name"])