python-pickle序列化

1.优势:能够序列化python中所有的类型
2.缺陷:只能够在python中使用,无法跨语言传输
3.功能:产生一个对象并且保存在文件中,取出时还是一个对象
    
class C1:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def func1(self):
        print('from func1')

    def func2(self):
        print('from func2')

obj = C1('max', 25)

import json
with open(r'a.txt', 'w', encoding='utf8') as f:
    json.dump(obj, f)  # TypeError: Object of type C1 is not JSON serializable,说明json模块无法将对象存入文件

import pickle
with open(r'a.txt', 'wb') as f:
    pickle.dump(obj, f)

with open(r'a.txt', 'rb')as f:
    data = pickle.load(f)
print(data)  # <__main__.C1 object at 0x000001F214678C50>
data.func1()  # from func1
data.func2()  # from func2
print(data.name)  # max
posted @   ERROR404Notfound  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
Title
点击右上角即可分享
微信分享提示