python19 序列化

本文介绍了Python中的序列化方法,重点关注json和pickle模块。json主要用于轻量级的数据交换,可以将常见数据类型转化为字符串,而pickle则支持自定义类对象的序列化。json的dumps和loads分别用于序列化和反序列化字符串,dump和load则对应写入和读取文件;pickle的用法相似,但能处理更多复杂对象。
摘要由CSDN通过智能技术生成

python19 序列化

序列化: 自定义对象是不能直接在IO中进行操作的。
对于普通的常用的类型: str —> 直接保存
如果是list,dict,set,int float 自定义类的对象… —> 保存到一个文件中
此时就需要序列化(list,dict, … 转成字节表示)

实现序列化的方式:

  1. json: 是一种轻量级的数据交换格式.
    {key:value,key:value,…key:[{}]}
    str = json.dumps(类型) —> 序列化
    类型 = json.loads(str) ----> 反序列化
  2. pickle:
    使用同json,但是可以直接操作自定义类型对象

区别: json模块是将对象转换成为字符串,而pickle模块是将对象转换成为二进制。

load和loads、dump和dumps区别:

  • json.dumps()
    对json进行编码,把数据类型转换成字符串。
  • json.dump(类型,文件流)
    对json进行编码, 把数据类型转换成字符串,并存储在文件中。
  • json.loads()
    对json进行解码,把字符串转换成数据类型 。
  • json.load(文件流)
    把文件打开,对json进行解码,从字符串转换成数据类型。

json

import json

with open('cartoon.txt', 'w') as ws:
    dict1 = {
   'name': '太一', 'age': 8, 'gender': '男'}
    print(type(dict1))
    # json中提供了一个dumps实现序列化,返回值就是序列化后的结果
    result = json.dumps(dict1)
    print(type(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值