图书管理系统


功能简介

  • 添加图书时,图书ID不能重复,图书名可重复
  • 删除,查询,修改功能,输入图书名之后提供所有的同名的图书,用户可以按照图书序号对具体的一本书进行操作
  • 显示书籍,分行显示,每行一本书的信息

书籍信息以如下格式保存在txt文本文件下

{"book_id":"001","book_name":"三体","book_loc":"0-0-1"}
{"book_id":"002","book_name":"三体","book_loc":"0-0-2"}

源代码

#-*- coding=utf8 -*-
# @author:sololi
# date: 2020/11/12
# 文件说明 : data 为存储的图书信息
import sys
def print_muen():print("----菜单提示----")print("[1]:添加图书")print("[2]:查询图书")print("[3]:删除图书")print("[4]:修改图书信息")print("[5]:显示所有图书")print("[6]:退出")def add_book():book_id=input("请输入图书编号")book_name=input("请输入图书名称")book_loc=input("请输入图书位置")for i  in books:if book_id==i["book_id"]:print("编号重复")breakelse:book={}book["book_id"]=book_idbook["book_name"]=book_namebook["book_loc"]=book_locbooks.append(book)new_file(books)print("添加成功")def find_book():jg=0while True:book_name=input("输入要找的书名")for i in books:if book_name==i["book_name"]:print(i)jg=1if jg==0:print("查找失败请重新输入")continueelif jg==1:breakdef dell_book():book_name =input("请输入图书书名")i=0j=0jg=0flag=[]while i<len(books):if books[i]["book_name"]==book_name:id=books[i]["book_id"]flag.append(id)print("图书编号:{}".format(id))jg=1i+=1if jg==0:print("找不到图书名")if jg==1:book_id=input("请输入删除的图书编号")i=0while j < len(flag):if flag[j] == book_id:while i < len(books):if books[i]["book_id"] == book_id:del books[i]new_file(books)print("删除成功")breaki+=1breakj+=1else:print("输入的编号有误")return booksdef modify_book():book_name = input("请输入修改的图书名称")i = 0jg = 0flag = []while i < len(books):if books[i]["book_name"] == book_name:id = books[i]["book_id"]flag.append(id)print("本书图书编号:{}".format(id))jg = 1i += 1if jg == 0:print("找不到图书名")elif jg == 1:book_id = input("请输入修改的图书编号,或者其他需要修改的图书编号")for i in books:if book_id == i["book_id"]:New_id = input("新的图书编号")if New_id == i["book_id"]:print("输入编号重复")breakelse:New_name = input("新的图书名称")New_loc = input("新的图书位置")i["book_id"] = New_idi["book_name"] = New_namei["book_loc"] = New_locnew_file(books)breakelse:print("输入有误")def all_book():for  i  in books:print(i)def read_book(data):#将文本文件里的图书信息读取到books中f = open(data, mode="r", encoding="utf8")books = f.readlines()f.close()for i in range(0, len(books)):books[i] = eval(books[i].replace("\n", ""))return booksdef new_file(books):#将books的内容更新到文本文件里i=0nf = open(data, 'w+',encoding='utf8')  # 以清空原文本文件内容的方式打开文件写入while i<len(books):new=str(books[i])nf.write(new)if i !=len(books)-1:nf.write("\n")i+=1nf.close()if __name__=="__main__":#主要流程data = str(input(r"请输入您的图书信息路径(例如:D:\books.txt):")) #读取数据信息while True:books=read_book(data)print_muen()choice=input("请输入您的选择")if choice=='1':add_book()all_book()elif choice=='2':find_book()elif  choice=='3':dell_book()all_book()elif  choice=='4':modify_book()all_book()elif choice == '5':all_book()elif choice == '6':print("感谢您的使用")sys.exit(0)else:print("您的输入有误,请重新输入")

还可以添加一个登录与注册系统:点击此处

Python:图书管理系统相关推荐

  1. 一个简单的基于python图书管理系统

    一个简单的基于python图书管理系统 开发平台:pycharm 开发语言:python 数据库:mysql 登录界面 主界面 数据库文件 想要的联系丘丘:793064854.2R带走

  2. python毕业设计开题报告-基于Python图书管理系统开题报告

    选题的背景.意义及研究现状: 研究背景及意义: 随着我国的教育产业的快速发展,各个学校的学生数量越来越多,在这种情况下的图书馆书籍管理和查询,以及读者的管理变得非常困难,使用计算机软件的图书管理系统来 ...

  3. python+图书管理系统

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码展示 总结 前言 运用Python编程语言,实现图书管藏书(书号.书名.出版社.作者.价格以及库存).学生信息 ...

  4. Python图书管理系统(一)

    最近在写一个项目--图书管理系统 在完成这个项目的道路上我写了2个基础的图书管理系统. ①用IO完成数据存储的图书管理系统 ②用MySQL完成数据存储的图书管理系统    今天先来更新第一个用IO操作 ...

  5. Python图书管理系统(二)

    文章目录 前言 PyMySQL 安装 PyMySQL 使用 数据库方面的准备 图书管理系统代码          前言    上次写了用IO完成数据存储的图书管理系统, 这次更新一个用MySQL完成数 ...

  6. python 图书管理系统书写

    题目:写一个简单的图书借阅系统‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪ ...

  7. Python图书管理系统(课设)

    基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多.添加.删除及修改并未使用数据库,而是使用了csv文件的读取操作,从而替代数据库. ...

  8. python图书管理系统

    以下三个文件需在同一目录下.json文件格式不能更改 books-fxm.json [{"name": "图书管理","author": & ...

  9. python图书管理系统增删改查_图书管理系统---增删改查

    此代码只考虑正确情况,未判断错误情况 package dboperate; import java.util.Scanner; import model.BookDB; import dboperat ...

  10. Python图书管理系统(终章)

    文章目录 前言 总的项目布局 效果展示 全部代码 总结          前言    上次写了用MySQL完成数据存储的图书管理系统, 这次我将把各个模块划分为系统的各个功能,通过flask框架与前端 ...

最新文章

  1. 电子学会青少年编程等级考试Python案例10
  2. 简单配置jena在eclipse的开发环境
  3. 键盘连击测试_测试梗欢迎补充
  4. itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...
  5. bzoj2733永无乡
  6. Java笔记(一)—StringBuilder类
  7. mysql多条件查询_excel用字典处理多条件查询问题
  8. stat---文件状态信息结构体
  9. paramiko模块执行linux下nohup卡住的问题。
  10. 斯坦福NLP名课带学详解 | CS224n 第6讲 - 循环神经网络与语言模型(NLP通关指南·完结)
  11. 基于MODBUS通讯协议的酒厂温湿度、光照度数据采集系统的设计与实现
  12. 两台计算机如何打印机共享打印机,多台电脑怎样共享一台打印机?方法就是这么简单!...
  13. JavaScript冒泡排序(升序排列)
  14. sdn 深信服_推动物联网安全行业发展,青莲云受邀出席2019深信服创新大会
  15. python orm框架
  16. Symantec Backup Exec部署手册
  17. 网站导航栏SEO优化方法
  18. 易观 OLAP 大赛揭晓 PingCAP 斩获商业组桂冠
  19. vue *** is not a function 解决
  20. 推荐一个好用的免费空间

热门文章

  1. PageOffice产品简介
  2. 项目管理中的主动控制与被动控制
  3. 武汉超星学习通Java实习生一面
  4. 加加食品:从调味品到生活方式,零添加引领健康风潮
  5. 思维导图-读书笔记-本能减脂
  6. 阿里云服务器几分钟快速建站
  7. 跟着团子学SAP-通知单的隐藏小技巧:自动决定任务
  8. 监督学习VS无监督学习
  9. 如何将Java项目打包部署到Linux服务器进行访问
  10. 早报八点半:5月12日Web3加密行业每日新闻汇总