关于pickle.load的问题~!!!!!!~~求助!

l5230606 l5230606 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想写一个图书馆管理系统,
第一个显示所有图书的函数。

def disp_all_books():############################

#图书显示函数

with open('lib_info.json', 'r') as f:
read_book_list = pickle.load(f)
print_basic_info()


for i in range(len(read_book_list)):
read_book_list[i].disp_book_info()

第二个是添加图书的函数:
def add_books(book_list):

# 图书添加函数
print '请输入要添加的信息:'
book_number = input('书号:')
book_name = input('书名:')
author = input('作者:')
press = input('出版社:')
pub_date = input('出版日期:')
price = input('定价:')
kind = input('类别:')

book = BookInfo(book_number, book_name, author, press, pub_date, price, kind) #自定义的一个图书类
book_list.append(book)
with open('lib_info.json','w') as f:

#将新书添加进书单
pickle.dump(book_list,f)

print '\n','添加完成'
disp_all_books()

我添加了好几本不同的书(先放在了列表book_list里,再dumpji你去的)
而我在pickle.load的时候,返回的列表总是长度为1
我试着不断地load,值到EOFError时,显示的书都是我第一次添加的书,只是重复了很多遍

why....
...全文

相关推荐

使用pickle存储数据dump 和 load实例讲解

使用pickle模块来dump你的数据:对上篇博客里的sketch.txt文件: import os import sys import pickle man=[ ] other=[ ] try: data=open('sketch.txt') for each_line in data: try: (role,line_spoken)=each_line.split(':',1) line_spoken=line_spoken.strip() if role == 'Man':

weixin_38705252

解决python3读取Python2存储的pickle文件问题

今天小编就为大家分享一篇解决python3读取Python2存储的pickle文件问题,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38694343

Python 中Pickle库的使用详解

pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独再安装。这篇文章主要介绍了Python 中Pickle库的使用详解,需要的朋友可以参考下

weixin_38651165

详解Python3 pickle模块用法

pickle(python3.x)和cPickle(python2.x的模块)相当于java的序列化和反序列化操作。 常采用下面的方式使用: import pickle pickle.dump(obj,f) pickle.dumps(obj,f) pickle.load(f) pickle.loads(f) 使用pickle模块你可以把Python对象直接保存到文件,而不需要把他们转化为字符串,也不用底层的文件访问操作把它们写入到一个二进制文件里。 pickle模块会创建一个python语言专用的二进制格式,你基本上不用考虑任何文件细节,它会帮你干净利落地完成读写独享操作,唯一需要的只是一个

weixin_38747211

python pickle存储、读取大数据量列表、字典数据的方法

pickle模块实现了用于序列化和反序列化python对象结构的二进制协议。这篇文章主要介绍了python pickle存储、读取大数据量列表、字典的数据,需要的朋友可以参考下

weixin_38674512
评论 1
收藏 已收藏
分享
返回顶部
l5230606
脚本语言 37,737 成员 34,208 内容