简介
json和pickle都是python的标准库,json可以在不同的语言之间转换。
pickle只能在python中,不同版本的python甚至会出现不兼容的情况。
json.dumps() 将python对象储存为json字符串
json.dump() 将python对象储存为json的一个fp文件流,然后储存
json.loads() 将json字符串转换成python对象
json.load() 将json文件流转换为python对象
# json.dumps()示例
# 储存
dic = {'json':'111','aaa':'AAA'} # dumps存进去
f = open('json示例.txt','w') # 打开文件
data = json.dumps(dic) # 转换格式
f.write(data) # 写进去
f.close()
# 打开
f = open('json示例.txt','r') # 通过loads方法取出来
data = f.read() # 读取文件
ret = json.loads(data) # 转化文件格式
print(ret)
f.close()
# json.dump()示例
# 储存
dic = {'json':'222','bbb':'BBB'} # dump存进去
f = open('json示例.txt','w') # 打开文件
data = json.dump(dic,f) # 转换格式,并写入
f.close()
# 打开
f = open('json示例.txt','r') # 通过load方法取出来
ret = json.load(f) # 转化文件格式,并 读取
print(ret)
f.close()
# 储存
f = shelve.open('shelve示例') # 打开文件
f['one'] = {'shelve':'aaa','bbb':'BBB'} # 写入储存信息
f.close()
# 读取
f = shelve.open('shelve示例') # 打开文件
print(f.get('one')) # 取出对象
print(f.get('one')['bbb']) # 也可以这么搞
f.close()
其中最常用的是json,但是如果涉及到python专用的话可以考虑pickle这种使用方法。
因为pickle中,对python的版本有着明确的限制,所以如果出现报错,建议取看看版本问题。