一、背景
随着电子化技术的不断发 展,部分纸质图书的内容可以经过扫描之后转化为电子数据存储在系统中,读者在选择借阅书籍时可以通过系统对书籍的部分电子内容进行阅览,之后再选择所需要借阅的书籍,读者也可以通过管理系统对图书的相关信息进行了解,或同时查询相同类型的图书,对具体内容进行阅览之后再决定借阅的对象。
二、要求:
1.用户要有注册和登录 2.可以借阅和还书 3.借书该书总数量少一,还书时书的数量加一 4.可以查询到每类书的数量,可以增添和删除书的记录
下面是代码的功能概况:
三、代码具体实现
每段代码都有具体实现,下面是每个模块的代码及功能
导入库:
用户界面:
def login():
username = input('输入用户名:')
password = input('输入密码:')
# 打开文件查看
with open('Users.txt', 'r', encoding='utf-8') as rstream:
# 逐行读取内容
while True:
# 读取一行内容
user = rstream.readline() # admin 123456\n
# 判断有没有读取到内容
if not user:
print('用户名或者密码输入有误!')
return False
# 构造比较格式
input_user = '{} {}\n'.format(username, password)
# 如果用户输入的跟文件中的内容一致则认为用户登录成功
if user == input_user:
print('用户登录成功!')
return username
def login_required(func):
def wrapper(*args, **kwargs):
if kwargs['userlogin'] == False:
print('您需要先登录')
else:
f = func(*args, **kwargs)
return f
return wrapper
图书:
def show_books():
print('---------图书馆里面的图书有:----------')
with open('Books.txt', 'r', encoding='utf-8') as rstream:
books = rstream.readlines()
for book in books:
print(book, end='')
print('')
注册用户和登录用户(先注册用户再登录):
def register():
username = input('用户名:')
pwd = input('密码:')
rpwd = input('确认密码:')
username_exis = 0