Python-Json-Pickle

from os import write print("===========================序列化-反序列化===============================") #暫時這麼理解 #序列化:將數據從內存持久化保存到硬盤的過程 #反序列化:將數據從硬盤加載到內存的過程 #write時,只能寫入字符串或者二進制 #字典 列表 數字 等都不能直接寫入到文件當中 #1將數據轉換成字符串:repr / str #2將數據轉換成二進制 #3將數據轉換成 Json:本質是字符串 file = open("Pfile/Pfile13.txt","w",encoding="utf8") file.write("nihao caonima de ") names = ["張發","找死","曹尼瑪","給車","算法","算法","兒童","兒童"] file.write(names.__repr__()) file.write(str(names)) file.close() #json裏將數據持久化有2個方法: #dumps:將數據轉換成爲json字符串,不會將數據保存到文件裏 #dump:將數據轉換成爲json字符串,會將數據保存到文件裏 import json file = open("Pfile/Pfile14-json.txt","w",encoding="utf8") names = ["json","Hello","gg","hh","jj","kk","ll","ii"] x = json.dumps(names) #dumps:將數據轉換成字符串,不會將數據保存到文件裏 file.write(x) #手動寫入文件 print(x) file.close() file = open("Pfile/Pfile15-json.txt","w",encoding="utf8") names = ["json","Hello","gg"] x = json.dump(names,file) #dumps:將數據轉換成字符串,會將數據保存到文件裏,自動寫入文件 file.close() #json裏將數據反序列化有2個方法: #loads:將json字符串加載成爲Python裏的數據 #load:讀取文件,把讀取的內容加載成爲Python裏的數據 xx = '{"name":"world","good":"bad","love":90}' p = json.loads(xx) #loads:將json字符串加載成爲Python裏的數據 print(p["name"]) file = open("Pfile/Pfile15-json.txt","r",encoding="utf8") yy = json.load(file) #load:讀取文件,把讀取的內容加載成爲Python裏的數據 print(yy) print(yy[0]) print("===========================Pickle模塊使用===============================") #json:將Python裏的數據(str/list/tuple/dict/int/float/bool/None)等轉化爲對應的Json字符串 #pickle:將Python裏任意的對象轉換爲二進制 import pickle #序列化 dumps:轉化成二進制 dump:轉化成二進制並寫入到文件 #反序列化 loads:將二進制轉化成爲Python數據 load:讀取文件二進制數據轉化成爲python names = ["諸葛亮","json","Hello","gg","你好"] #dumps file = open("Pfile/Pfile16-pickle.txt","wb") b_names = pickle.dumps(names) file.write(b_names) #寫入的是二進制 file.close() #dump file = open("Pfile/Pfile16-pickle.txt","wb") pickle.dump(names,file) file.close() #loads file = open("Pfile/Pfile16-pickle.txt","rb") x = file.read() y = pickle.loads(x) print(y) file.close() #load file = open("Pfile/Pfile16-pickle.txt","rb") y = pickle.load(file) file.close() print(y) print("===========================Pickle 與 json區別===============================") #pickle 用來將數據原封不動的轉換成爲二進制,只能用Python讀 不能跨平臺 #json 只能保存部分數據(基本數據類型),用在不同平臺傳輸數據,誇平臺
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章