2024年Python最新[巩固培元]Python文件操作案例——用户登录

        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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值