python实现图书管理系统——通过excel文件或者TXT文件存放数据

本文介绍了使用Python实现的图书管理系统,通过Excel文件或TXT文件存储数据。系统包括用户注册、登录、添加、查询、删除和修改图书信息等功能。数据读取和写入涉及到文件操作及openpyxl库的使用。
摘要由CSDN通过智能技术生成

用python实现图书管理系统——通过excel文件或者TXT文件存放数据

话不多说,先上图,看看运行起来的效果:
运行效果图由上图可知,我实现的主要功能:

  1. 用户注册
  2. 用户登录
  3. 添加图书
  4. 查询图书
  5. 删除图书
  6. 修改图书信息
  7. 观看所有图书信息
    接下来详细介绍每个功能如何实现:
    (这里,我分别用了两种方法实现对数据的运用)
    在整个程序之前我先声明了两个全局变量,用于设立字典列表,分别存放用户信息和书籍信息:
users = []
books = []

举个例子,表明字典列表的详情:

在这里插入图片描述

读取数据

读取用户数据
如下为读取TXT文本数据:
每一行利用切割函数切割成相应内容,并放入列表中,再把列表内容传输到全局变量users[]中。

def ReadUsers_Information():
    fopen = open("User_Information.txt",encoding="utf-8")
    for line in fopen.readlines():
        line = str(line).replace("\n", "")
        users.append({
   line.split()[0]:line.split()[1],line.split()[2]:line.split()[3],line.split()[4]:line.split()[5],line.split()[6]:line.split()[7]})
    fopen.close()

如下为读取excel文本数据:
每一行利用单元格读取方法将单元格内容读取,并存入列表,再将列表内容传输给users[]

def ReadUsers_Information(): wb=openpyxl.load_workbook('User_Information.xlsx')
    sh=wb['Sheet']
    max_row = sh.max_row
    max_column = sh.max_column
    head = []
    content = []
    headcolumn = 1
    column = 1
    row = 2
    while headcolumn <= max_column:
        head.append(sh.cell(1,headcolumn).value)
        headcolumn = headcolumn + 1
    while row <= max_row:
        while column <= max_column:
           content.append(sh.cell(row,column).value)
           column = column + 1
        column = 1
        row = row + 1
        users.append({
   head[0]:content[0],head[1]:content[1],head[2]:content[2],head[3]:content[3],})
        content.clear()

读取书籍数据
与读取用户数据同理,我就不做多咬文嚼字了。
如下为读取TXT文本数据:

def ReadBooks_Information():
    fopen = open("Book_Information.txt",encoding="utf-8" )
    for line in fopen.readlines():
        line = str(line).replace("\n", "")
        if line != '':              #防止line为空的时候执行下列写入语句导致出错
            books.append({
   line.split()[0]: line.split()[1], line.split()[2]: line.split()[3], line.split()[4]: line.split()[5],} )
    fopen.close()

如下为读取excel文本数据:

def ReadBooks_Information():
    wb = openpyxl.load_workbook( 'Book_Information.xlsx' )
    sh = wb['Sheet']
    max_row = sh.max_row
    max_column = sh.max_column
    head = []
    content = []
    headcolumn = 1
    column = 1
    row = 2
    while headcolumn <= max_column:
        head.append( sh.cell( 1, headcolumn ).value )
        headcolumn = headcolumn + 1
    while row <= max_row:
        while column <= max_column:
            content.append( sh.cell( row, column ).value )
            column = column + 1
        column = 1
        row = row + 1
        books.append( {
   head[0]: content[0], head[1]: content[1], head[2]: content[2],} )
        content.clear()

用户注册

将用户数据存放在TXT文件中:
用open()方法连接TXT文件,
再用write()方法写入数据,
最后还需记得要用close()方法
函数如下:

def AddUsers():
    fopen = open("User_Information.txt",'a+',encoding="utf-8")
    input_name=str(input("请输入新用户名:"))
    input_passwd=str(input("请输入密码:"))
    for user in users:
        if input_name==user['name']:
            print("用户名已存在")
            
  • 17
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值