Hello,大家好。想必大家都去过图书馆,每个人要借书都得有一张卡,所以我们就来看一看这个图书馆里的系统是怎么做的。
1.办卡系统(新建一个用户)
代码:
from 图书管理系统.adm专用系统 import operate
from 图书管理系统.保存系统 import preserve_data, path
from 图书管理系统.修改个人信息 import rstream
from 图书管理系统.用户登录 import login
def logon():
print("欢迎来到图书管理系统注册页面~")
username = input("请输入用户名:")
if len(username) < 6:
print("用户名不能小于6个字符")
else:
email = input("请输入邮箱:")
password = input("请输入密码:")
if len(password) < 8:
print("密码不能少于8位")
else:
password = input("请确认密码:")
if password == password:
print("注册成功!")
# 函数调用,每追加一列数据都进行换行 每个数据之间都有空格
preserve_data(path, [username, ' ' + email, ' ' + password + '\n'])
login_tips = input('是否登录?(yes/no)')
if login_tips == 'yes':
login()
else:
line = rstream.readline()
# 通过3个空格将字符串line分割为一个列表,存储三个值
line = line.split(' ')
# 循环遍历列表,去掉列表中每个元素后面的换行,如果有就去掉,没有就不取掉
for i in range(len(line)):
line[i] = line[i].rstrip('\n')
# 判断是否管理员,如果是就可以进行添加操作
if username == 'adm':
pass
else:
print("只有管理adm才可以进行该操作~")
# 不是管理员将回到操作页面
operate(path, username)
var = str('(Exception (as))')
err = (Exception(var))
print("错误原因:", err)
def permission():
return None
def book_path():
return None
def look_person_info():
return None
这里讲一下,代码中的adm专用系统都是后面的,现在运行肯定会报错
2.登录系统(每次你激活卡)
# 用户登录
from 图书管理系统.保存系统 import path
from 图书管理系统.新建用户 import book_path, operate, logon
def login():
print("欢迎来到图书管理系统登录页面~")
tips = input("是否已经注册?(yes/no)")
if tips == 'yes':
while True:
username = input("输入用户名:")
password = input("输入密码:")
# 读取文件时可能会出现找不到文件的异常,因此使用try except
try:
# 读取文件中的内容
with open(path, 'rb') as stream:
# 读取多行保存到列表中,列表中保存的是二进制,字节
result = stream.readlines()
# print(result)
# 列表推导式,循环遍历列表,将字节解码为字符串放在一个新列表uesr_list
uesr_list = [i.decode() for i in result]
# print(uesr_list)
# 循环遍历列表,检查输入的用户名和密码是否在字符串中
for i in uesr_list:
info = i.split(' ')
print(info)
if username == info[0] and password == info[2].rstrip('\r\n'):
print("登录成功")
operate(book_path, username)
break
else:
print(info[0])
print(info[2])
raise Exception("用户名或密码错误,请重新输入!")
except Exception as err:
print