序列化模块
# 序列化方法
# 格式转换
# 把python中的数据转换成str---序列化
# 可以str转换成python的数据---反序列化
json模块
# json所有的语言都通用,它能序列化的数据是有限的:字典列表和元组
import json
# json.dumps()与json.loads()是一对
# json.dump()与json.load()是一对
# json.dumps()#序列号 “obj” 数据类型 转换为 JSON格式的字符串
# ret = json.dumps({'k':(1,2,3)})
# print(repr(ret),type(ret)) #str()是将作用对象“以字符串格式输出”,重在输出;repr()是“显示对象是什么东西”,重在表述。所以在调试程序时常常用后者打印。
# ret2 = json.loads(ret) #将包含str类型的JSON文档反序列化为一个python对象
# print(repr(ret2),type(ret2))
# #json.dump()#理解为两个动作,一个动作是将”obj“转换为JSON格式的字符串,还有一个动作是将字符串写入到文件中,也就是说文件描述符fp是必须要的参数 """
![]()
# f = open('json_file','w')
# json.dump({'k':(1,2,3)},f)
# f.close()
# with open('json_file') as f:
# ret = json.load(f)
# print(ret,type(ret))
# ret = json.dumps((1,2,3,4))
# print(ret)
# s = json.loads(ret)
# print(s)
# a = {'name':'tom','age':23}
# with open('test.json','w',encoding='utf-8') as f:
# f.write(json.dumps(a,indent=4)) #indent=4是a在文件中显示几行,默认是0行
# with open("test.json", "r", encoding='utf-8') as f:
# aa = json.loads(f.read()) #将包含str类型的JSON文档反序列化为一个python对象"""
# f.seek(0)
# bb = json.load(f) #将一个包含JSON格式数据的可读文件饭序列化为一个python对象
# print(aa) #{'name': 'tom', 'age': 23}
# print(bb) #{'name': 'tom', 'age': 23}
View Code