基于python的图书管理系统设计与实现,python课程设计图书管理系统

  基于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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: