自定义Pickle,借助pickle模块来完成简化的dump和load

import pickle  # 导入pickle模块
class My_pickle:   # 定义pickle类
    def __init__(self, path):
        self.file = path

    def dump(self, obj):
        with open(self.file, 'ab') as f:  # 以ab模式写入
            pickle.dump(obj, f)

    def load(self):
        l = []
        with open(self.file,'rb') as f:  # rb模式读出
            while True:
                try:
                    l.append(pickle.load(f))
                except EOFError:
                    break
        return l

pic = My_pickle('pickle_file')
pic.dump(obj)
for i in pic.load():
    print(i)
  

  

方式二
import pickle
class My_pickle:
    def __init__(self,path):
        self.file = path
        
    def dump(self,obj):
        with open(self.file,'ab') as f:
            pickle.dump(obj,f)
	
    def load(self):
        with open(self.file,'rb') as f:
            while 1:
                try:
                    yield pickle load(f)
                except EOFError:
                    break
pic = My_pickle('pickle_file')
pic.dump(obj)

for i in pic.load():
    print(i)

  

转载于:https://www.cnblogs.com/biu-py/p/10977144.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值