pickle 储存 hashlib进行唯一标识

# **** 把对象序列化到文件中
import pickle
# 一个文件中只可以储存一个对象  用hashlib模块进行唯一区分
import hashlib

class Stu:
    def __init__(self,name,age):
        
        self.name = name
        
        self.age = age
        
    def save(self):
        m = hashlib.md5()
        
        m.update(self.name.encode('utf-8'))
        
        hs = m.hexdigest()          # 每一次储存的名称都不相同
        
        pickle.dump(self,open(hs[:5],"wb"))   # dump 到文件文件中  格式为二进制
        
s1 = Stu("黎明",18)
s1.save()   # 调用储存方法

s2 = Stu("老王",18)
s2.save()

 
# ********* 从当前文件路径寻找文件
m = hashlib.md5()

fand = input("请输入要咨询的名字").strip()

m.update(fand.encode("utf-8"))  # 编码为utf-8

f = m.hexdigest()

s = pickle.load(open(str(f[:5]),'rb'))     # load 取出 二进制格式

print(s.name,s.age)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值