栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

简易的纯python(图书管理系统)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简易的纯python(图书管理系统)

不涉及前端与后端,所以存放数据用了txt文本,实现了对txt文本的增删改查。代码写的十分简易

,可以在原基础上进行修改和增加功能。

import os
import time

print("--------------图书馆管理系统----------------")
print("1.查询图书,根据书名或者id")
print("2.借记图书,根据书名或id")
print("3.还归图书,根据书名或id")
print("4.图书入库,需要权限")
print("7.退出系统")
n = int(input("请输入你所要进行的操作:(输入数字对应操作):").strip())


def Book_System(num):
    if num == 1:
        print()
        print("-----------load-----------")
        print("请输入需要查询的书名或者id")
        m = input("输入书名或者id:").strip()
        print()
        f = open("data.txt", "r", encoding='utf-8')
        list_data = f.readlines()
        count = 0
        for i in list_data:
            s = i.split(" ")[0].split(":")[1]
            z = i.split(" ")[1].split(":")[1]
            if s == m or z == m:
                print("查询结果:" + str(i))
                count = 1
        f.close()
        if count == 0:
            print("此书未登记在库")
    if num == 2:
        print()
        print("-----------load-----------")
        print("请输入需要借记的书名或者id")
        m = input("输入所需借记书名或者id:").strip()
        print()
        f = open("data.txt", "r", encoding='utf-8')
        list_data = f.readlines()
        count = 0
        for i in list_data:
            s = i.split(" ")[0].split(":")[1]
            z = i.split(" ")[1].split(":")[1]
            if s == m or z == m:
                y = i.split(" ")[2].split(":")[1]
                if y == "否":
                    p = input("此书可借,是否借阅(是,否):").strip()
                    if p == "是":
                        name = input("输入您的姓名:").strip()
                        r = i.split(" ")[0].split(":")[1]
                        f.close()
                        file_log = "data_log.txt"
                        v = open("data.txt", "r", encoding='utf-8')
                        g = open(file_log, "w", encoding='utf-8')
                        list_datas = v.readlines()
                        for j in list_datas:
                            t = j.split(" ")[0].split(":")[1]
                            characte = j
                            if t == r:
                                charactes = characte.split(" ")[0] + " " + characte.split(" ")[1] + " " + 
                                            characte.split(" ")[2][:5] + "是" + " " + characte.split(" ")[3][
                                                                                     :6] + name + " " + 
                                            characte.split(" ")[4][:5] + str(
                                    time.strftime("%Y.%m.%d", time.localtime(time.time())))
                                print("Update:" + charactes)
                                g.write(charactes + "n")
                            else:
                                print("Update:" + j.strip())
                                g.write(j)
                        v.close()
                        g.close()
                        os.remove("data.txt")
                        os.rename(file_log, "data.txt")
                    else:
                        print("返回系统主目录")
                        number = int(input("请输入你所要进行的操作:(输入数字对应操作):").strip())
                        Book_System(number)

                else:
                    print("此书已被借出 ")
                    print("此书还书日期为:" + str(i.split(" ")[4]))

                count = 1
        f.close()
        if count == 0:
            print("此书未登记在库")
    if num == 3:
        print()
        print("-----------load-----------")
        print("请输入需要归还的书名或者id")
        m = input("输入所需归还书名或者id:").strip()
        print()
        f = open("data.txt", "r", encoding='utf-8')
        list_data = f.readlines()
        count = 0
        for i in list_data:
            s = i.split(" ")[0].split(":")[1]
            z = i.split(" ")[1].split(":")[1]
            if s == m or z == m:
                y = i.split(" ")[2].split(":")[1]
                if y == "是":
                    q = input("是否归还该图书(是,否):").strip()
                    if q == "是":
                        r = i.split(" ")[0].split(":")[1]
                        f.close()
                        file_log = "data_log.txt"
                        v = open("data.txt", "r", encoding='utf-8')
                        g = open(file_log, "w", encoding='utf-8')
                        list_datas = v.readlines()
                        for j in list_datas:
                            t = j.split(" ")[0].split(":")[1]
                            # print(t)
                            characte = j
                            if t == r:
                                charactes = characte.split(" ")[0] + " " + characte.split(" ")[1] + " " + 
                                            characte.split(" ")[2][:5] + "否" + " " + characte.split(" ")[3][
                                                                                     :6] + "无" + " " + 
                                            characte.split(" ")[4][:5] + "无"
                                print("Update:" + charactes)
                                g.write(charactes)
                            else:
                                l = str(j.strip())
                                print("Update:" + l)
                                g.write(l)
                        v.close()
                        g.close()
                        os.remove("data.txt")
                        os.rename(file_log, "data.txt")
                    else:
                        print("返回系统主目录")
                        number = int(input("请输入你所要进行的操作:(输入数字对应操作):"))
                        Book_System(number)
                else:
                    print("此书未被借出 ")
                    print("请核对信息")
                count = 1
        f.close()
        if count == 0:
            print("此书未登记在库")
    if num == 4:
        print()
        print("-----------load-----------")
        print("---------管理系统-----")
        root = input("输入用户名:").strip()  # 默认用户名为root,密码为root
        password = input("输入密码:").strip()
        if root == "root" and password == "root":
            print("请输入需要入库书籍的各项数据")
            z_1 = input("输入入库书书名:").strip()
            z_2 = input("请输入入库书id:").strip()
            if len(z_2) != 8:
                print("输入格式错误,重新输入")
                z_1 = input("输入入库书书名:").strip()
            u = open("data.txt", "a", encoding="utf-8")
            z_sum = "id:" + z_2 + " " + "书名:" + z_1 + " " + "是否借出:否 借书人姓名:无 还书日期:无"
            u.write("n" + z_sum)
            u.close()
        else:
            print("请输入正确的管理员账号")
            Book_System(4)
    if num == 7:
        print()
        print("---------end----------")


Book_System(n)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号