Python 序列化Json、Pickle
2017-04-22 21:45
756 查看
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong
'''
Json仅支持简单的数据类型,不支持复杂类型的序列化,如函数
'''
import json
info = {"name":"daidai", "salary":15000}
# 序列化
with open("test.txt", "w") as f:
# f.write(json.dumps(info))
json.dump(info,f) # 与上句完全等价
# 反序列化
with open("test.txt", "r") as f:
# print(json.loads(f.read()))
print(json.load(f)) # 与上句完全等价
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong
'''
Pickle可序列化python中所有的数据类型,仅在Python中
例如pickle可序列化函数
'''
import pickle
def fun_print():
print("1......")
info = {"name":"daidai", "salary":15000, "func":fun_print}
# 序列化
with open("test.txt", "wb") as f: # 以二进制写入
# f.write(pickle.dumps(info))
pickle.dump(info,f) # 与上句完全等价
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong
import pickle
def fun_print(s):
print("2......%s" % s)
# 反序列化
with open("test.txt", "rb") as f: # 以二进制读取
rs = pickle.load(f)
print(rs)
rs["func"]("daidai") # 实际上这里有func对应函数对应即可(仅需保证函数名一致即可),甚至可修改调用方式和函数体
# -*- coding:utf-8 -*-
# author: Changhua Gong
'''
Json仅支持简单的数据类型,不支持复杂类型的序列化,如函数
'''
import json
info = {"name":"daidai", "salary":15000}
# 序列化
with open("test.txt", "w") as f:
# f.write(json.dumps(info))
json.dump(info,f) # 与上句完全等价
# 反序列化
with open("test.txt", "r") as f:
# print(json.loads(f.read()))
print(json.load(f)) # 与上句完全等价
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong
'''
Pickle可序列化python中所有的数据类型,仅在Python中
例如pickle可序列化函数
'''
import pickle
def fun_print():
print("1......")
info = {"name":"daidai", "salary":15000, "func":fun_print}
# 序列化
with open("test.txt", "wb") as f: # 以二进制写入
# f.write(pickle.dumps(info))
pickle.dump(info,f) # 与上句完全等价
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: Changhua Gong
import pickle
def fun_print(s):
print("2......%s" % s)
# 反序列化
with open("test.txt", "rb") as f: # 以二进制读取
rs = pickle.load(f)
print(rs)
rs["func"]("daidai") # 实际上这里有func对应函数对应即可(仅需保证函数名一致即可),甚至可修改调用方式和函数体
相关文章推荐
- python 序列化之JSON和pickle详解
- Python之数据序列化(json、pickle、shelve)
- python 序列化数据:pickle与json ,dumps与loads
- Python模块知识4:序列化Json/pickle
- python基础-序列化json、pickle 、shelve三种方式
- python 之序列化(pickle模块和json模块)
- Python学习心得(五) random生成验证码、MD5加密、pickle与json的序列化和反序列化
- Python基础-序列化(json/pickle)
- Python序列化与反序列化——json和pickle
- python学习之路(json & pickle 模块 ---序列化,反序列化)
- python基础6之迭代器&生成器、json&pickle数据序列化
- python序列化模块json和pickle
- 详解Python之数据序列化(json、pickle、shelve)
- Python序列化基础知识(json/pickle)
- Python3. 4000 5——Json与pickle数据序列化
- Python之数据序列化(json、pickle、shelve)
- Python-json与pickle数据序列化
- Python--模块之sys模块、logging模块、序列化json模块、序列化pickle模块
- python之路-14.Json & pickle 数据序列化
- Python之数据序列化(json、pickle、shelve)