json,pickle模塊
阿新 • • 發佈:2018-09-13
結構 ads none 合並 一行 雙引號 port 讀取 one
序列化: dumps
把內存的數據結構保存下來
import json
dic={‘a‘:1}
res1=json.dumps(dic)
re2=str(dic)
print(res1,type(res1)) #json格式都是用的雙引號
print(res2,type(res2))
x=None
res=json.dumps(x)
print(res,type(res))
import json #把python格式轉化為json格式
user={‘name‘:‘xiaoxiao‘,‘age‘:18,‘ng‘:True}
with open(‘user.json‘,‘w‘,encoding=‘utf-8‘) as f:
f.write(json.dumps(user))
import json #同上
user={‘name‘:‘xiaoxiao‘,‘age‘:18,‘ng‘:True}
json.dump(user,open(‘user_new.json‘,‘w‘,enccoding=‘utf-8‘)) #dump合並成一行
反序列化:loads
import json
with open(‘user.json‘,‘r‘,encoding=‘utf-8‘) as f:
user=json.loads(f.read()) #以json格式讀取文件內容
print(user.[‘name‘])
import json
u=json.load(open(‘user.json‘,‘r‘,encoding=‘utf-8‘)) #同上,load合並成一行
print(u[‘age‘])
json_res={"name":‘xi‘} #json只能用雙引號
print(json.load(json_res))
pickle:序列化,能支持所有的Python類型,並以byte類型打開
improt pickle,json
s={1,2,3,4}
#print(json.dumps(s))
print(pickle.dumps(s))
with open(‘s.pkl‘,‘wb‘) as f:
f.write(pickle.dumps(s))
pickle.dump(s,open(‘s.pkl‘,‘wb‘)) #同上
#pickle反序列化
import pickle
with open(‘s.pkl‘,‘rb‘) as f:
s=pickle.loads(f.read())
print(s,type(s))
s=pickle.load(open(‘s.pkl‘,‘rb‘)) #同上
print(s,type(s))
json,pickle模塊