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 只能保存部分数据(基本数据类型),用在不同平台传输数据,夸平台
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章