不涉及前端与后端,所以存放数据用了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)



