码迷,mamicode.com
首页 > 编程语言 > 详细

Python 序列化Json、Pickle

时间:2017-04-23 10:39:48      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:python   json   pickle   

#!/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对应函数对应即可(仅需保证函数名一致即可),甚至可修改调用方式和函数体


本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1918517

Python 序列化Json、Pickle

标签:python   json   pickle   

原文地址:http://90sirdb.blog.51cto.com/8713279/1918517

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!