# json模块(序列化)
'''
所有编程语言都能识别的数据格式:.json,(就是字符串类型文件)
1、任意对象
dumps :把任意对象序列化为str字符串类型
loads: 把任意str类型反转为原来的数据
2、针对 .json文件操作如下
dump : 把对象序列化后写入到文件对象中
load :把文件对象的内容反序列化为原来的数据
'''
# 1、dumps 和 loads 连续使用
# 用法:
dic = {"a":1, "b":2}
res = json.dumps(dic)#转化为字符串
dic1 = json.loads(res)#反转回
# 2、dump 和 load 操作(针对 .json文件)
# 用法:
dic = {"a":1, "b":2}
with open("test.json",mode="w",enconding ="utf-8" ) as fp :
json.dump(dic,fp,ensure_ascii="utf-8")#转化json后存储
with open("test.json",mode="w",enconding ="utf-8" ) as fp :
res = json.load(fp)
#注:load一次性转化json文件的所有数据,当文件中有多次dump的数据时,改用loads方法对内容进行解析
with open("test.json",mode="w", encondin='utf-8') as fp:
json.dump(dic,fp)
fp.write("\n") # 换行,使得数据内容是可迭代对象
json.dump(dic,fp)
fp.write("\n")
with open("test.json",mode="w", encondin='utf-8') as fp:
for i in fp:
res = json.loads(fp)
# pickle模块(python独有的序列化)
'''
按字节流的方式转化数据
pickle 可以连续dump。也可以连续load,因为pickle 在存储数据的时候会在末尾加结束符
方法:
pickle.dump 和 pickle.load
'''
with open("test.json",mode="w", encondin='utf-8') as fp:
pickle.dump(dic,fp)
pickle.dump(dic,fp)
with open("test.json",mode="w", encondin='utf-8') as fp:
res = pickle.loads(fp)