一、作业练习
写一个登录注册系统,能够实现用户的注册、登录。
用户的账号信息写入后缀名为xlsx的文件中,
A、B两列分别用来保存账号、密码,两列的列名为账号、密码即可。
登录时从文件中读取已存在账号密码,注册时新增账号密码。
"""
import os
from openpyxl import Workbook, load_workbook
"""
os模块为多操作系统的访问提供了相关功能的支持,涉及对文件相关操作、shell命令行操作、
CPU等硬件相关信息的获取等等一系列和操作系统相关的操作。
"""
# os.path.isfile(路径):判断路径指定文件是否存在,返回True或False
# os.path.isdir(路径):判断路径指定文件夹是否存在,返回True或False
# os.path.exists(路径):判断路径指定的文件或文件夹是否存在,返回True或False
result = input('请输入您的选择(登录或注册):')
# 创建或加载文件
filePath = r'用户账号信息.xlsx'
if not os.path.isfile(filePath):
# 如果文件不存在,创建,写入必要信息
wb = Workbook()
# 切换进工作表
sheet1 = wb['Sheet']
# 写入列名
sheet1.cell(1, 1).value = '账号'
sheet1.cell(1, 2).value = '密码'
else:
wb = load_workbook(filePath)
ws = wb['Sheet']
# 查看文件中信息的行数
rows = ws.max_row
# 登录
if result == "登录":
userName = input('请输入要登录的账号:')
password = input('请输入密码:')
for row in range(2, rows + 1):
if ws.cell(row, 1).value == userName and ws.cell(row, 2).value == password:
print('登陆成功')
break
else:
print('用户名不存在或密码输入错误')
# 注册
elif result == '注册':
while True:
userName = input('请输入要注册的账号:')
password = input('请输入密码:')
for row in range(2, rows + 1):
if ws.cell(row, 1).value == userName:
print('您输入的账号已经被注册,请重新输入!')
break
else:
ws.cell(rows + 1, 1).value = userName
ws.cell(rows + 1, 2).value