python和文件相关操作json、pickle

1.json

内存操作:json.dumps()和json.loads()

json.dumps()是将一个Python数据类型转化为字符串

json.loads()是将字符串转化为原先的数据类型(与json.dumps()是互逆操作,还原json.dumps()转化时的数据类型)

 

文件操作:json.dump()和json.load()

json.dump()保存为文件

json.load()加载文件

import json
dict={}
dict['word']=1
dict['word1']=3
dict['word2']=5
dict['word3']=15
path='word.json'
#保存json文件
with open(path,'w') as f:
    json.dump(dict,f)
#加载json文件
with open(path,'r') as f:
    dic=json.load(f)

list=[1,3,4]
data=json.dumps(list)#将list转化为str
list=json.loads(data)#将str转化为list
data=json.dumps(dict)#将dict转化为str
dict=json.loads(data)#将str转化为dict

 

2.pickle

内存操作:pickle.dumps()和pickle.loads()

pickle.dumps()是将一个Python数据类型转化为二进制

pickle.loads()是将二进制转化为原先的python数据类型(与pickle.dumps()是互逆操作,还原pickle.dumps()转化时的数据类型)

 

文件操作:pickle.dump()和pickle.load()

pickle.dump()保存为文件

pickle.load()为加载文件

import pickle
dict={}
dict['word']=1
dict['word1']=3
dict['word2']=5
dict['word3']=15

dict1={}
dict1['word']=1
dict1['word0']=3
dict1['word2']=5
dict1['word3']=12
path='word.pkl'#文件名可以不是以.pkl结尾
#将dict和dict1保存为二进制文件
with open(path,'wb') as f:
    pickle.dump((dict,dict1),f)
    # pickle.dump(dict,f) #仅仅存储dict对应的格式
#pickle文件
with open(path,'rb') as f:
    dict, dict1=pickle.load(f)


list=[1,3,4]
data=pickle.dumps(list)#转化为二进制
list=pickle.loads(data)#还原为原先的数据类型
print(list)
上一篇:Python的小数据存储,用什么格式更有逼格?


下一篇:2019年11月30日 复习 pickle