python内置模块-json和pickle

安装第三方库

pip3 install requests

源码安装:下载源码,解压后切换到当前目录

执行python setup.py install

json和pickle都是用来序列化和反序列化的两个模块,均提供dump,load,dumps,loads。

1.json 可以跨平台使用,仅支持基本Python数据类型

2.pickle 适合Python所有类型数据的序列化操作,仅适用于Python,可能由于Python版本问题无法正常序列化。

看两个json的例子

import json
s = '{"k1":123}'
dic = json.loads(s)
print(dic,type(dic))
s1 = json.dumps(dic)
print(s1,type(s1))
>>>
{'k1': 123} <class 'dict'>
{"k1": 123} <class 'str'>
import json
li = [11,22,33]
json.dump(li,open('db','w',encoding='utf-8')) #将Python序列化的东西直接写入文件中
l1 = json.load(open('db','r')) #从文件中反序列化得到Python对象
print(l1,type(l1))

pickle的例子

import pickle
li = [11,22,33,44]
pickle.dump(li,open('db1','wb'))  #将列表写入到文件中,保存为Python特殊格式
l = pickle.load(open('db1','rb'))  #从文件中load下来。
print(l)

r = pickle.dumps(li)
print(r)
l2 = pickle.loads(r)
print(l2)