json和pickle的dump,dumps,load,dumps方法的使用

"""
序列化 (Serialization)
将对象的状态信息转换为便于存储或传输的形式的过程称之为序列化, 该过程的逆向则称之为反序列化, 如:
(1)数据和文本的转换
(2)Python的数据类型和二进制数据类型的转化
(3)Python的数据类型和json的转化

本文介绍使用json和pickle进行序列化和反序列化, 它们都提供了四种方法:
    dump() 把数据序列化并保存至文件
    dumps() 把数据序列化
    load() 从文件中读取数据并反序列化
    dumps() 把数据反序列化
"""

import json
import pickle

data = {
    'int': 1,
    'str': 'string',
    'list': [1, 2, 3],
}

"""json"""

# dumps()用法
# 把python数据转为json
json_data = json.dumps(data)
print('type:', type(json_data))
print('data:', json_data)

# loads()用法
# 再把json转为python数据
py_data = json.loads(json_data)
print('type:', type(py_data))
print('data:', py_data)

# dump()用法
# 把python数据存为.json文件
with open('py_to_json.json', 'w') as file:
    json.dump(data, file)

# load()用法
# 从.json文件中读取数据并转为python类型
with open('py_to_json.json', 'r') as file:
    py_data = json.load(file)
    print('type:', type(py_data))
    print('data:', py_data)

"""pickle"""
print('='*80)

# dumps()用法
# 把python数据转为byte类型
byte_data = pickle.dumps(data)
print('type:', type(byte_data))
print('data:', byte_data)

# loads()用法
# 再把byte类型转为python数据
py_data = pickle.loads(byte_data)
print('type:', type(py_data))
print('data:', py_data)

# dump()用法
# 把python数据存为.pkl
with open('py_to_byte.pkl', 'wb') as file:
    pickle.dump(data, file)

# load()用法
# 从.pkl文件中读取数据并转为python类型
with open('py_to_byte.pkl', 'rb') as file:
    py_data = pickle.load(file)
    print('type:', type(py_data))
    print('data:', py_data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值