while True:
select = input("是否需要注册?(y/n)")
if select == "y" or select == "Y":
print("---用户注册---")
user_register() # 用户注册
break
elif select == "n" or select == "N":
print("用户登录")
break
else:
print("输入有误 重新选择")
user_login() #用户登录
break
elif user_type_select == "0":
return
else:
print("输入有误,请重新选择")
### []( )2.6 root\_login()
> 实现管理员登录
def root_login():
while True:
print("管理员登录")
root_user = input("请输入账户:")
root_pwd = input("请输入密码")
file_root = open("u_root") #只读的方式打开
root = eval(file_root.read()) #读取账户信息
#信息校验
if root_user == root["username"] and root_pwd == root["pwd"]:
print("登录成功")
break
else:
print("校验失败")
### []( )2.7 user\_register()
> 用户注册函数
def user_register():
user_id = input("请输入用户名:")
user_pwd = input("请输入密码")
user_name = input("请输入昵称")
user = {"u_id" : user_id,"u_pwd":user_pwd,"u_name":user_name}
user_path = "./users" + user_id
file_user = open(user_path,"w") #创建用户文件
file_user.write(str(user)) #写入
file_user.close() #保存关闭
### []( )2.8 user\_login()
> 实现用户登录函数,校验文件中的数据和输入的数据
def user_login():
while True:
print("普通用户登录")
user_id = input("请输入账户名:")
user_pwd = input("请输入密码")
#获取users目录下的所有文件
user_list = os.listdir("./users")
#遍历列表 判断user_id是否在列表中
flag = 0
for user in user_list:
if user == user_id:
flag = 1
print("登录中....")
#打开文件
file_name = "./users" + user_id
file_user = open(file_name)
#获取文件内容
user_info = eval(file_user.read())
if user_pwd == user_info["u_pwd"]:
print("登录成功")
break
if flag == 1:
break
elif flag == 0:
print("没有该用户 请先注册")
break
> 到这里用户登录案例就完成了
>
> 最后在程序中添加如下代码:
if name == “main”:
main()
[]( )3.功能演示
---------------------------------------------------------------------
`在程序目录中创建flag文件,并在其中输入0,保存退出,执行程序`
![在这里插入图片描述](https://img-blog.csdnimg.cn/daae2baf94b44352b3bab502d8671eab.png#pic_center)
`代码汇总`
import os
#3.初始化 创建管理员文件和普通用户目录
def init():
file = open("u_root","w") # 创建并打开管理员账户文件
root = {"username" : "root","pwd" : "123456"}
file.write(str(root))
file.close()
os.mkdir("users")
#4.打印登录菜单
def print_login_menu():
print("-----用户选择-----")
print("-----1.管理员登录-----")
print("-----2.普通用户登录-----")
print("-----0.退出-----")
print("-"*30)
#6.管理员登录
def root_login():
while True:
print("管理员登录")
root_user = input("请输入账户:")
root_pwd = input("请输入密码")
file_root = open("u_root") #只读的方式打开
root = eval(file_root.read()) #读取账户信息
#信息校验
if root_user == root["username"] and root_pwd == root["pwd"]:
print("登录成功")
break
else:
print("校验失败")
#7.普通用户注册 在我们的分析当中 没有提前创建好文件用于保存用户信息 所以需要注册
def user_register():
user_id = input("请输入账户id:")
user_pwd = input("请输入密码")
user_name = input("请输入用户名")
user = {"u_id" : user_id,"u_pwd":user_pwd,"u_name":user_name}
user_path = "./users/" + user_id
file_user = open(user_path,"w") #创建用户文件
file_user.write(str(user)) #写入
file_user.close() #保存关闭
#8.用户注册完毕之后 登录用户
def user_login():
while True:
print("普通用户登录")
user_id = input("请输入账户id:")
user_pwd = input("请输入密码")
#获取users目录下的所有文件
user_list = os.listdir("./users")
#遍历列表 判断user_id是否在列表中
flag = 0
for user in user_list:
if user == user_id:
flag = 1
print("登录中....")
#打开文件
file_name = "./users/" + user_id
file_user = open(file_name)
#获取文件内容
user_info = eval(file_user.read())
if user_pwd == user_info["u_pwd"]:
print("登录成功")
break
if flag == 1:
break
elif flag == 0:
print("没有该用户 请先注册")
break
def user_select():
while True:
user_type_select = input("请输入选择用户类型:")
if user_type_select == "1":
root_login()
break
elif user_type_select == "2":
while True:
select = input("是否需要注册?(y/n)")
if select == "y" or select == "Y":
print("---用户注册---")
user_register() #用户注册
break
elif select == "n" or select == "N":
print("用户登录")
break
else:
print("输入有误 重新选择")
user_login() #用户登录
break
elif user_type_select == "0":
return
else:
print("输入有误,请重新选择")
#2.用于修改flag文件中内容 初次启动系统被调用
def c_flag():
file = open("flag","w")
file.write("1")
file.close()
1.#判断是否为首次使用函数
def main():
flag = open("flag")
word = flag.read()
if word == "0":
print("首次登录")
flag.close()
c_flag() #标识为1
init() # 初始化
print_login_menu() #打印登录菜单
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!