基于python的图书管理系统设计与实现,python课程设计图书管理系统
本文主要详细介绍了用python实现的简单的图书馆管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文分享python实现简单图书管理系统的具体代码,供大家参考。具体内容如下
一、设计需求
1.添加书籍
2.查询数据
借书
存储模式,用excel保存到硬盘或保存到。txt文件。
二、实现代码
1.用excel存储
# 1.介绍
#主要功能实现
# 1.借书
# 2.添加一本新书
# 3.寻找书籍
#数据存储:excel表格
导入xlwt
导入xlrd
导入xlutils.copy
导入操作系统
#book={location : , title 3360 , price 3360 , author 3360}
# excel用作存储模式
Title=[位置,标题,价格,作者]
#检查当前书号,即行号
def read_book_num():
path=OS . path . join(OS . getcwd()r \ books . xls )
打印(路径)
flag=os.path.exists(路径)
if(标志):
book _ excel=xlrd . open _ workbook( book . xls )
sheet1=book_excel.sheets()[0]
book_num=sheet1.nrows
else:
book_num=0
还书数量
def add_book(图书编号):
#判断excel是否存在,如果不存在,则创建它
path=OS . path . join(OS . getcwd()r \ books . xls )
flag=os.path.exists(路径)
打印(“标志”,标志)
if(标志):
#如果存在,打开excel
book _ excel=xlrd . open _ workbook( book . xls )
#并复制之前已有的数据。
book _ excel=xlutils . copy . copy(book _ excel)
sheet1=book_excel.get_sheet(0)
#sheet1=book_excel.sheets()[0]
else:
Book_excel=xlwt。工作簿( book.xls) #新Excel
1=book _ excel.add _ sheet(工作表名称= book form ,cell_overwrite_ok=True)
而(1):
#打印技巧
Button_num=input(请选择您的操作。添加一本新书\n 2。按q\n 退出)
if(button_num==q):
破裂
elif (button_num==1):
#输入一本书的所有信息,先存储在书里。
Book=[] #空图书信息
输入值= #清除输入
对于范围(4):中的I
打印(“请输入:”,标题[i])
输入值=输入()
book.append(输入值)
#保存到硬盘(将输入数据保存到excel)
对于范围(4):中的I
#将数据写入line book_num
sheet1.write(图书编号,I,图书[i])
图书数量=图书数量1 #图书总数加1
Book_excel.save (book.xls )
打印(“成功添加”)
else:
打印(无效输入,请重新输入!)
def搜索_图书():
#打开excel
book _ excel=xlrd . open _ workbook( book . xls )
sheet1=book_excel.sh
eets()[0]
book_num = sheet1.nrows
while(1):
#输入书名
chose= input("请输入你的操作:\n"+"1.查询书籍:\n"+"2.退出请按q\n")
if(chose == q):
break
elif (chose == 1):
bookname = input("请输入书名:")
for i in range(0,book_num):
if(bookname == sheet1.cell(i,0).value):
print("查询成功,查询结果为\n",sheet1.row_values(i))
return
else:
print("查询失败,本书库没有此书")
return
else:
print("操作有误,请重新输入!")
def borrow_book():
#打开excel
book_excel = xlrd.open_workbook("图书.xls")
sheet1 = book_excel.sheets()[0]
book_num = sheet1.nrows
book_excel_copy = xlutils.copy.copy(book_excel)
sheet1_copy = book_excel_copy.get_sheet(0)
#重新创建一个excel,用于保存更新后的数据
# book_excel_new = xlwt.Workbook("图书.xls") #新建excel
# sheet1_new = book_excel_new.add_sheet(sheetname="1",cell_overwrite_ok=True)
while(1):
#输入书名
print("1.请输入借书书名\n2.按q退出借书界面")
bookname = input()
if(bookname == q):
return
else:
#查找
a = 0
for i in range(0, book_num):
if( bookname == sheet1.cell(i, 0).value ):
for j in range(4):
a = i + 1
while(book_num-a):
sheet1_copy.write(i,j,sheet1.cell(a,j).value)#清除位置
a += 1
print("借阅成功")
book_excel_copy.save(图书.xls)
return
# else:
# a = i
# sheet1_copy.write(i,j,sheet1.cell(a,j).value)#清除位置
#book_excel_copy.save(图书.xls)
if __name__ == __main__:
book_num = read_book_num()
print(book_num)
while(1):
print("******图书管理系统****")
print("******1.添加新书******")
print("******2.查询书籍******")
print("******3.借书*********")
print("******4.退出*********")
op = input("请输入你的操作:")
if(op == "1"):
add_book(book_num)
elif (op == "2"):
search_book()
elif (op == "3"):
borrow_book()
elif (op == "4"):
break
else:
print("输入无效,请重新输入!")
2.用txt文件方式存储
def add_book():file = open("图书管理系统.txt","a+")
print("请输入要添加的书籍信息:")
id = input("id:")
name = input("bookname:")
author = input("author:")
#table = [name,id,author]
file.write(id+" "+name+" "+author+"\r")
print("书籍添加成功!")
file.close()
def serch_book():
file = open("图书管理系统.txt","r")
name = input("请输入要查询书籍名称:")
read_data_all = []
count = len(file.readlines())
#print(count)
file.seek(0,0) #需要将文件指针移动到开头
for i in range(count):
read_data = file.readline().split()
read_data_all.append(read_data)
for read_data in read_data_all:
# print(type(read_data))
if(name==read_data[0]):
print("查询到的数据信息为:",read_data)
break
else:
print("查找失败")
file.close()
return read_data
def borrow_book():
file = open("图书管理系统.txt","r+")
#先查找书籍存不存在,如果存在就借出
count = len(file.readlines())
read_data_all= []
file.seek(0,0) #需要将文件指针移动到开头
for i in range(count):
read_data = file.readline().split()
read_data_all.append(read_data)
print(read_data_all)
file.close()
book = serch_book()
file = open("图书管理系统.txt","w")
for line in read_data_all:
if book==line:
continue
line_to_str = .join(line) #将列表装换成字符串
file.write(line_to_str+"\n")
if __name__ == "__main__":
#open直接打开一个文件,如果文件不存在则创建文件
while(1):
print("******图书管理系统****")
print("******1.添加新书******")
print("******2.查询书籍******")
print("******3.借书**********")
print("******4.退出**********")
op = input("请输入你的操作:")
if(op == "1"):
add_book()
elif(op == "2"):
serch_book()
elif(op == "3"):
borrow_book()
else:
break
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。