Python---Pickle模块

本文介绍了Python中的Pickle模块,详细阐述了序列化和反序列化的过程。序列化是将Python对象转化为pickle格式的字符串,而反序列化则是将pickle字符串还原为Python数据对象。pickle.dump()用于将序列化后的对象写入二进制文件,pickle.load()则用于从文件中加载并解码pickle数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要了解pickle模块首先要理解两个概念:序列化和反序列化
序列化:把python的对象编码转换为pickle格式的字符串
反序列化:把pickle格式字符串解码为python数据对象

序列化的操作
序列化的方法: pickle.dump()
格式为:pickle.dump(obj, file)
注:该方法是将序列化后的对象obj以二进制形式写入文件file中,进行保存,不能直接预览。

反序列化的操作
序列化的方法: pickle.load()
格式为:pickle.load(obj, file)

利用下面一段代码理解一下pickle模块:

import pickle
import random

#首先进行反序列化操作

try:
    with open ('cjb.txt','rb') as f:
        cjb = pickle.load(f)
        print(cjb)
except:
    cjb = []
for i in range(5):
    name = input('请输入名字:')
    cj=random.randint(50,100)
    cjb.append([name,cj])
#序列化
with open('cjb.txt','wb')as f:
    pickle.dump(cjb,f)
    print("结果已保存") 

要注意呀,千万不可以用pickle命名,否则会报错!
如下:

module 'pickle' has no attribute 'dump'

好啦,就酱紫!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值