返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现图书管理系统设计的代码怎么写
  • 747
分享到

Python实现图书管理系统设计的代码怎么写

2023-06-29 11:06:47 747人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python实现图书管理系统设计的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于Python的tkinter,

本篇内容介绍了“python实现图书管理系统设计的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

基本效果如下图所示:

Python实现图书管理系统设计的代码怎么写

该系统将所有代码全都放在一个文件中,源码如下:

import osimport tkinterimport tkinter.messageboxfrom tkinter import *from tkinter import ttk class LoginPage (object):    def __init__(self, master=None):         self.root = master #定义内部变量root         # 获取当前屏幕的宽高        self.width = self.root.winfo_screenwidth()        self.height = self.root.winfo_screenheight()        # 设置窗口大小        self.h = 600        self.w = 800        # 将窗口居中        self.y = (self.height - 600) / 2        self.x = (self.width - 800) / 2        self.root.geometry("%dx%d+%d+%d" %(self.w,self.h,self.x,self.y))        # 不允许修改窗口大小        self.root.resizable(False,False)        self.addnum = StringVar()         self.addname = StringVar()         self.addauthor = StringVar()         self.addchu = StringVar()         self.aDDDate = StringVar()         self.addpri = StringVar()         self.altnum = StringVar()         self.altname = StringVar()         self.altauthor = StringVar()         self.altchu = StringVar()         self.altdate = StringVar()         self.altpri = StringVar()         self.createPage()      # 创建页面    def createPage(self):         #表格        tree = ttk.Treeview(self.root)        tree.place(x=10,y=10,width=780,height=260)        # #定义列        tree["columns"] = ("编号","书名","作者", "出版社", "出版日期", "价格")        tree['show'] = 'headings'        # 设置列,列还不显示        tree.column("编号", width=80,anchor ='c')        tree.column("书名", width=150,anchor ='c')        tree.column("作者", width=150,anchor ='c')        tree.column("出版社", width=150,anchor ='c')        tree.column("出版日期", width=150,anchor ='c')        tree.column("价格", width=100,anchor ='c')        #设置表头        tree.heading("编号", text="编号")        tree.heading("书名", text="书名")        tree.heading("作者", text="作者")        tree.heading("出版社", text="出版社")        tree.heading("出版日期", text="出版日期")        tree.heading("价格", text="价格")        #添加数据        f = open('图书.csv','r',encoding='utf-8')        for line in f.readlines():            info = line[:-1].split(",")            tree.insert("", 0, values=(info[0],info[1],info[2],info[3],info[4],info[5]))        f.close()         # 添加编号        addnum = Label(self.root, text="编号",font=('微软雅黑',10,''),anchor='w')        addnum.place(x=42.5,y=280,height=20,width=80)        addnuminput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.addnum)        addnuminput.place(x=122.5,y=279,height=24,width=105)        # 添加书名        addname = Label(self.root, text="书名",font=('微软雅黑',10,''),anchor='w')        addname.place(x=42.5,y=310,height=20,width=80)        addnameinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.addname)        addnameinput.place(x=122.5,y=309,height=24,width=105)        # 添加作者        addauthor = Label(self.root, text="作者",font=('微软雅黑',10,''),anchor='w')        addauthor.place(x=42.5,y=340,height=20,width=80)        addauthorinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.addauthor)        addauthorinput.place(x=122.5,y=339,height=24,width=105)        # 添加出版社        addchu = Label(self.root, text="出版社",font=('微软雅黑',10,''),anchor='w')        addchu.place(x=42.5,y=370,height=20,width=80)        addchuinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.addchu)        addchuinput.place(x=122.5,y=369,height=24,width=105)        # 添加出版日期        adddate = Label(self.root, text="出版日期",font=('微软雅黑',10,''),anchor='w')        adddate.place(x=42.5,y=400,height=20,width=80)        adddateinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.adddate)        adddateinput.place(x=122.5,y=399,height=24,width=105)        # 添加价格        addpri = Label(self.root, text="价格",font=('微软雅黑',10,''),anchor='w')        addpri.place(x=42.5,y=430,height=20,width=80)        addpriinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.addpri)        addpriinput.place(x=122.5,y=429,height=24,width=105)        # 添加按钮        add = Button(self.root,command=self.click, text ="添加书本",font=('微软雅黑',10,''),activeforeground='#ffffff',fg='#ffffff',activebackground='#7cba59',bd=2,bg='#2aa515')        add.place(x=105,y=500,height=35,width=100)          # 修改编号        altnum = Label(self.root, text="编号",font=('微软雅黑',10,''),anchor='w')        altnum.place(x=292.5,y=280,height=20,width=80)        altnuminput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altnum)        altnuminput.place(x=372.5,y=279,height=24,width=105)        # 修改书名        altname = Label(self.root, text="书名",font=('微软雅黑',10,''),anchor='w')        altname.place(x=292.5,y=310,height=20,width=80)        altnameinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altname)        altnameinput.place(x=372.5,y=309,height=24,width=105)        # 修改作者        altauthor = Label(self.root, text="作者",font=('微软雅黑',10,''),anchor='w')        altauthor.place(x=292.5,y=340,height=20,width=80)        altauthorinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altauthor)        altauthorinput.place(x=372.5,y=339,height=24,width=105)        # 修改出版社        altchu = Label(self.root, text="出版社",font=('微软雅黑',10,''),anchor='w')        altchu.place(x=292.5,y=370,height=20,width=80)        altchuinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altchu)        altchuinput.place(x=372.5,y=369,height=24,width=105)        # 修改出版日期        altdate = Label(self.root, text="出版日期",font=('微软雅黑',10,''),anchor='w')        altdate.place(x=292.5,y=400,height=20,width=80)        altdateinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altdate)        altdateinput.place(x=372.5,y=399,height=24,width=105)        # 修改价格        altpri = Label(self.root, text="价格",font=('微软雅黑',10,''),anchor='w')        altpri.place(x=292.5,y=430,height=20,width=80)        altpriinput = Entry(self.root,font=('微软雅黑',10,''),textvariable=self.altpri)        altpriinput.place(x=372.5,y=429,height=24,width=105)        # 修改按钮        alter = Button(self.root,command=self.altclick, text ="修改书本",font=('微软雅黑',10,''),activeforeground='#ffffff',fg='#ffffff',activebackground='#7cba59',bd=2,bg='#2aa515')        alter.place(x=350,y=500,height=35,width=100)        # 保存按钮        pre = Button(self.root,command=self.show, text ="保存书本信息",font=('微软雅黑',10,''),activeforeground='#ffffff',fg='#ffffff',activebackground='#7cba59',bd=2,bg='#2aa515')        pre.place(x=595,y=500,height=35,width=100)     # 写入判断输入框是否有空值    def Isspace(self,text):        temp = 0        for i in text:           if not i.isspace():               temp = 1               break        if temp==1:            return 0        else:            return 1    # 检查写入是否有空值    def click(self):        addnum = self.addnum.get()        addname = self.addname.get()        addauthor = self.addauthor.get()        addchu = self.addchu.get()        adddate = self.adddate.get()        addpri = self.addpri.get()        if self.Isspace(addnum) or self.Isspace(addname) or self.Isspace(addauthor) or self.Isspace(addchu) or self.Isspace(adddate) or self.Isspace(addpri) :            tkinter.messagebox.showerror(title='提示', message ="请填写所有信息")        else:            self.write(addnum,addname,addauthor,addchu,adddate,addpri)    # 写入信息    def write(self,addnum,addname,addauthor,addchu,adddate,addpri):        f = open('图书.csv','r',encoding='utf-8')        for line in f.readlines():            info = line[:-1].split(",")            if len(info)<6:                break            if info[0] ==addnum and info[1] ==addname:                 tkinter.messagebox.showinfo(title='结果', message ="已存在该图书信息!")                 f.close()                 return         f.close()        f = open('图书.csv','a',encoding='utf-8')        f.write('{},{},{},{},{},{}\n'.fORMat(addnum,addname,addauthor,addchu,adddate,addpri))        f.close()        tkinter.messagebox.showinfo(title='提示', message ="写入成功,点击保存后更新")     # 检查修改信息是否空白    def altclick(self):        altnum = self.altnum.get()        altname = self.altname.get()        altauthor = self.altauthor.get()        altchu = self.altchu.get()        altdate = self.altdate.get()        altpri = self.altpri.get()        if self.Isspace(altnum) or self.Isspace(altname) or self.Isspace(altauthor) or self.Isspace(altchu) or self.Isspace(altdate) or self.Isspace(altpri) :            tkinter.messagebox.showerror(title='提示', message ="输入项为空")        else:            self.modify(altnum,altname,altauthor,altchu,altdate,altpri)     # 修改信息    def modify(self,altnum,altname,altauthor,altchu,altdate,altpri):        temp = 0        with open("图书.csv","r",encoding="utf-8") as f:            lines = f.readlines()           with open("图书.csv","w",encoding="utf-8") as f_w:            for line in lines:                info = line[:-1].split(",")                if info[0] ==altnum:                    temp = 1                    f_w.write('{},{},{},{},{},{}\n'.format(altnum,altname,altauthor,altchu,altdate,altpri))                    continue                f_w.write(line)        if temp==0:            tkinter.messagebox.showerror(title='提示', message ="没有该信息")        else:            tkinter.messagebox.showinfo(title='提示', message ="修改成功,点击保存后更新")    # 保存信息并显示    def show(self):        self.createPage() root = Tk() root.title('图书管理') LoginPage(root) root.mainloop()

在运行代码前需要在同级文件夹下创建一个名为“图书”的csv文件,如下图所示:

Python实现图书管理系统设计的代码怎么写

“Python实现图书管理系统设计的代码怎么写”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python实现图书管理系统设计的代码怎么写

本文链接: https://lsjlt.com/news/324390.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现图书管理系统设计的代码怎么写
    本篇内容介绍了“Python实现图书管理系统设计的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于python的tkinter,...
    99+
    2023-06-29
  • python实现图书管理系统的代码怎么写
    这篇文章主要介绍“python实现图书管理系统的代码怎么写”,在日常操作中,相信很多人在python实现图书管理系统的代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python实现图书管理系统的代码...
    99+
    2023-06-29
  • Python实现图书管理系统设计
    基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多。添加、删除及修改并未使用数据库,而是使用了csv文件的读取操作...
    99+
    2024-04-02
  • C++实现图书馆管理系统的代码怎么写
    这篇文章主要介绍“C++实现图书馆管理系统的代码怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++实现图书馆管理系统的代码怎么写”文章能帮助大家解决问题。总体思想用C++开发图书馆管理系统需...
    99+
    2023-06-29
  • C++实现简易图书馆管理系统的代码怎么写
    这篇文章主要讲解了“C++实现简易图书馆管理系统的代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++实现简易图书馆管理系统的代码怎么写”吧!思路在本程序中共有四个类:book类:...
    99+
    2023-06-29
  • 怎么用C++代码实现图书馆管理系统
    这篇“怎么用C++代码实现图书馆管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C++代码实现图书馆管理系统”文...
    99+
    2023-06-29
  • C++实现图书管理系统课程设计
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 大一 C++课设,没有用分文件的形式,只是把菜单页面单独分开了。用的是链表,都是一些基础的东西。另外采...
    99+
    2024-04-02
  • MySQL图书管理系统设计
    目录 一、项目简介 二、项目分析 (1)需求分析 ①图书管理功能(书籍的借出、归还) ②信息操作功能 ③人员管理功能 (2)需求表信息分析 ①图书管理需求表分析 ②信息操作表信息分析 ③人员信息表 三、项目实施 (1)创建图书信息表 (2)...
    99+
    2023-09-07
    mysql 数据库 数据库架构 database sql
  • python编写图书管理系统
    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 题目:写一个简单的图书借阅系统‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪...
    99+
    2024-04-02
  • JavaSE实现图书管理系统的示例代码
    目录前言1. 项目需求2. 实现思路3. 代码实现包的设计book包operations包user包4. 实现效果前言 这篇博客是在学习了一部分Java基础语法之后的练习项目,通过这...
    99+
    2024-04-02
  • Java实现图书管理系统的示例代码
    目录一、功能介绍二、Main包三、User包1. User2. AdminUser3. NormalUser四、book包1. Book2. BookList五、operations...
    99+
    2024-04-02
  • 怎么用python编写图书管理系统
    这篇“怎么用python编写图书管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用python编写图书管理系统”文...
    99+
    2023-06-29
  • php图书馆管理系统的设计与实现毕业设计-附源码
    摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图书馆的要求下,开发一款整体式结构的图书馆管理系统,将复杂的系统进行拆分,能够实...
    99+
    2023-09-14
    php java spring boot idea myeclipse
  • C++编写实现图书管理系统
    C++编写的一个图书管理系统,供大家参考,具体内容如下 2018大一的课设,搬到这纪念一下,共1200多行代码 为图书管理人员编写一个图书管理系统,图书管理系统的设计主要是实现对图书...
    99+
    2024-04-02
  • 基于PHP的图书管理系统的设计与实现
    1 引言 5 1.1 总体概述 6 1.2 开发背景 6 1.3 开发目的 6 1.4 本系统的开发环境 6 1.4.1 开发工具与环境 6 1.4.2 软硬件平台选择 7 2 系统分析 7 2.1 ...
    99+
    2023-09-16
    php Html MySQL 图书管理系统 毕业设计
  • 如何用Java代码实现图书管理系统
    这篇文章主要介绍“如何用Java代码实现图书管理系统”,在日常操作中,相信很多人在如何用Java代码实现图书管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Java代码实现图书管理系统”的疑惑有所...
    99+
    2023-06-29
  • 基于PHP+MySQL图书管理系统的设计与实现
    开发本图书管理系统目的是为了实现对图书馆的图书,借阅等进行科学化的管理,便于图书信息以及借阅信息的查询和安全控制,提高设备使用效率,减少维护成本。 图书管理系统实现对图书的管理和借阅管理,利用PHP及...
    99+
    2023-09-03
    php 开发语言
  • 基于JAVA图书馆管理系统设计与实现
    【后台管理员功能】 广告管理:设置小程序首页轮播图广告和链接 留言列表:所有用户留言信息列表,支持删除 会员列表:查看所有注册会员信息,支持删除 资讯分类:录入、修改、查看、删除资讯分类 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已...
    99+
    2023-09-03
    java 前端 小程序
  • C语言实现图书管理系统课程设计
    目录设计要求实现代码运行结果本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计图书管理系统 要求如下: 1.对书名,作者,编号,出版单位,...
    99+
    2024-04-02
  • C++实现图书管理系统源码
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 直接上代码 #include <stdafx.h> #include <iostr...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作