Python Json & Pickle模块

用于序列化的两个模块

  • Json,用于字符串 和 python数据类型间进行转换
  • Pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

Pickle模块提供了四个功能:dumps、dump、loads、load

Json

将数据通过特殊的形式转换为所有程序语言都认识的字符串

Python 原始类型向 Json 类型转换表

PythonJson
dictobject
list, tuplearray
str, unicosestring
int, long, floatnumber
Tureture
Falsefalse
Nonenull

Json dump & dumps:

import json
info = {
    'name': 'dbf-',
    'age': 18
}
with open('test', 'w')as f:
    print(json.dumps(info), ' is the result')
    f.write(json.dumps(info))    # 写入Json文件  json.dump(info, f)=f.write(json.dumps(info))
    # dumps序列化一次load反序列化一次

输出结果:

{"age": 18, "name": "dbf-"}  is the result

Json load & loads:

import json

with open('test', 'r')as f:         # 打开json文件
    data = json.loads(f.read())     # 读入内存地址    json.load(f) = json.loads(f.read())

print(data['age'])

输出结果:

18

 

Pickle

将数据通过特殊的形式转换为只有Python语言认识的字符串

Pickle dump & dumps

import pickle
info = {
    'name': 'dbf-',
    'age': 18
}
with open('test', 'wb')as f:     # 以二进制模式打开文件
    print(pickle.dumps(info), ' is the result')
    pickle.dump(info, f)         # f.write(pickle.dumps(info))

输出结果:

b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x04\x00\x00\x00dbf-q\x02X\x03\x00\x00\x00ageq\x03K\x12u.'  is the result

Pickle load & loads

import pickle

with open('test', 'rb')as f:    # 以二进制模式打开文件
    data = pickle.load(f)       # data = pickle.loads(f.read())
print(data['age'])

输出结果:

18

 

注意:Pickle 读写文件都要以二进制模式打开

 

 

转载于:https://www.cnblogs.com/dbf-/p/10576965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值