python学习之路(json & pickle 模块 ---序列化,反序列化)
2017-12-19 23:29
519 查看
python学习之路(json & pickle 模块)
json 只能处理简单的数据类型,不能处理函数什么的。json主要是处理不同语言之间的调用。
程序要只 序列化(dump)和反序列化(load)一次。
json序列化
import json info = { 'name':'tr', 'age':'23' } f = open('text.txt','w') print(json.dumps(info)) # {"name": "tr", "age": "23"} print(type(json.dumps(info))) # <class 'str'> f.write(json.dumps(info)) # 序列化 f.close()
json反序列化
import json f = open('text.txt','r') a = json.loads(f.read()) # 反序列化 print(a.get('age')) # 23
pickle 序列化
可以对函数等高级数据类型进行序列化import pickle def seyhello(name): print('hello,',name) info = { 'name':'tr', 'age':'23', 'welcome': seyhello } f = open('text.txt','wb') # 数据类型是byte print(pickle.dumps(info)) # b'\x80\x03}q\x00(X\x04。。。。。' print(type(pickle.dumps(info))) # <class 'bytes'> f.write(pickle.dumps(info)) # 序列化 # pickle.dump(info,f) 序列化也可以这么写,更简单。 f.close()
pickle 反序列化
import pickle def seyhello(name): print('hello,',name) f = open('text.txt','rb') a = pickle.loads(f.read()) # 反序列化 # pickle.load(f) 同上,是不是更简单 print(a.get('welcome')('tr')) # hello, tr
相关文章推荐
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- python序列化pickle模块和json模块简单学习
- Python模块学习 -- pickle, cPickle 对象序列化/反序列化
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- python之路-14.Json & pickle 数据序列化
- day5-python中的序列化与反序列化-json&pickle
- Python模块:shutil、序列化(json&pickle&shelve)、xml
- python3----模块(序列化(json&pickle)+XML+requests)
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- Python学习心得(五) random生成验证码、MD5加密、pickle与json的序列化和反序列化
- python学习之路(shelve 模块 ---序列化,反序列化)
- python序列化模块json和pickle
- 模块(序列化(json&pickle)+XML+requests)
- python pickle模块序列化反序列化---存储对象
- python 之序列化(pickle模块和json模块)
- 学习廖雪峰Python3教程的python序列化json模块的小笔记
- python3之序列化(pickle&json&shelve)
- python 学习 -- json的序列化和反序列化
- Python库:序列化和反序列化模块pickle介绍