序列化模块 json 和 pickle

序列化模块

json

json是所有语言都通用的一种序列化格式

只支持 列表 字典 字符串 数字
字典的key必须是字符串

dumps loads

在内存中做数据转换:
    dumps 数据类型 转成 字符串 序列化     默认中文显示编码,参数加 ensure_ascii=False 显示中文
    loads 字符串 转成 数据类型 反序列化

dump load

直接将数据类型写入文件,直接从文件中读出数据类型
    dump 数据类型 写入 文件 序列化
    load 文件 读出 数据类型 反序列化

json 所有语言间通用
能够处理的数据类型有 :字符串 列表 字典 数字
字典中的key只能是字符串 数字做key反序列化后会变成str 元组报错,元组做value反序列化后会变列表
json.dumps(非序列化数据) 转换成str类型的序列化数据
json.loads(序列化数据) 转换成非序列化数据 反序列化

json.dump(文件名变量(f)) 可以多次写入文件

dic = {‘key1’:‘value1’, ‘key2’:‘value2’}
with open(‘aa.log’, mode=‘a’, encoding=‘utf-8’) as f:
f.write(’\n’)
json.dump(dic, f)

json.load(文件名变量(f)) 读取时只支持一个数据类型

with open(‘aa.log’, mode=‘r’, encoding=‘utf-8’) as f:
ret = json.load(f)

print(ret)

pickle 支持python中几乎所有的数据类型

只能在python中使用
序列化的结果只能是字节
在文件操作的时候,需要用rb和wb的模式打开文件
可以多次dump和load

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值