Python 3.6 Pickle 序列化

请忽略,code里json方法

import json
import pickle


def json_serialize(obj):
    return json.dumps(obj)  # 序列化


def un_json_serialize(obj):
    return json.loads(obj)  # 读取序列化


def pickle_serialize(obj):
    return pickle.dumps(obj)  # 返回的是一个bytes


def un_pickle_serialize(obj):  # 读取序列化
    return pickle.loads(obj)


if __name__ == '__main__':
    def func1():
        print('aaa')


    with open('../log/pickleTest.txt', 'wb') as fd:  # 注意字节写入
        fd.write(pickle_serialize(func1))

    with open('../log/pickleTest.txt', 'rb') as fd:  # 注意字节读取
        data = fd.read()

    f = un_pickle_serialize(data)
    f()

Pickle有一个问题,如果我把一个方法序列化了以后,把这个文本传输给另外一个人,他直接loads出来,是用不了的,他必须声明一个和我一模一样的函数,然后才能用,这个感觉有点渣,估计应该也不太常用吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值