Json模块
json 是一种通用的数据传输格式,本质上就是一个字符串;目的是让其他程序能读懂接受到的数据内容。
序列化模块
loads dumps —- 和内存做交互
load dump —- 和文件做交互
序列化(dump/dumps)和 反序列化(load/loads)
import json
dic = {'广州':{'天河':{}, '番禺':{}}}
text = json.dumps(dic, ensure_ascii = False) # 序列号的过程 把字典/其它数据类型转换成字符串;如果字典中有中文,希望写入文件的数据也显示为中文,就需要添加参数ensure_ascii=Fa1se
# print(text)
# print(dic)
with open('city', mode = 'w', encoding = 'utf-8') as f:
f.write(text) # 把字符串写入文件,不能直接写入字典
with open('city', encoding = 'utf-8') as f:
str_d = f.read()
print(str_d)
dic = json.loads(str_d) # 把字符串转换成字典
print(dic)
和文件操作时dump和load方法可简化步骤
import json
lst = ['alex', 1,2,3]
with open('file', 'w', encoding='utf-8') as f:
json.dump(lst,f) # 写入json数据到文件
# 从文件中读取json数据
with open('file', encoding = 'utf-8') as f:
ret = json.load(f)
print(ret)