[巩固培元]Python文件操作案例——用户登录(1),【大牛疯狂教学

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

✅作者简介:大家好,我是Philosophy7?让我们一起共同进步吧!🏆

📃个人主页:Philosophy7的csdn博客

🔥系列专栏:Python

💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博>主哦🤞

在这里插入图片描述

登录案例

  • 一、前言

  • 二、案例:用户登录

    • 1.案例分析

    • 2.程序设计

      • 2.1 main()

      • 2.2 c_flag()

      • 2.3 init()

      • 2.4 print_login_menu()

      • 2.5 user_select()

      • 2.6 root_login()

      • 2.7 user_register()

      • 2.8 user_login()

    • 3.功能演示

一、前言

===================================================================

在上一小节,我们介绍了文件的基本操作以及数据交换的格式,为了巩固我们上一节文件操作的知识。

在这里我们做一个最基本的案例:用户登录

二、案例:用户登录

========================================================================

许多的应用都涉及数据的存储和使用,作为存储数据的基本形式,文件与应用密不可分。

1.案例分析


用户登录模块可分为管理员和用户登录,若使用该软件或浏览器中,系统就会判断用户是否为首次使用:若是首次使用,则进行初始化,否则进入用户类型选择。若选择管理员登录,则直接登录。如果是用户,那么就给用户提示是否需要注册登录。

根据以上分析,用户管理模块包含以下几个文件

  • 标识位文件flag 用于检测是否初次登录,初识数据为0,首次启动程序为将其中数据修改为1

  • 管理员账户文件u_root。用于保存管理员的账户信息

  • 普通用户账户文件。用于保存普通用户注册的账户。

2.程序设计


  • main()程序的入口

  • c_flag : 标识位文件更改

  • init 信息初始化

  • print_login_menu 打印登录菜单

  • user_select 用户选择

  • root_login 管理员登录

  • user_register 用户注册

  • user_login 普通用户登录

2.1 main()

该函数是程序的入口,这里需要做的就是判断是否是首次使用该系统,保证读取到的为同一个标志位对象,这里将标志位对象的数值存储到文件flag中,每次启动程序时都先调用main函数 该函数应先打开flag文件,从其中读取数据进行判断,根据表示文件的数据来进行执行不同的分支。


def main():

    flag = open("flag")

    word = flag.read()

    if word == "0":

        print("首次登录")

        flag.close()

        c_flag() #标识为1

        init() # 初始化

        print_login_menu() #打印登录菜单

        user_select() # 选择用户

    elif word == "1":

        #不是首次登录

        print("欢迎回来")

        print_login_menu()

        user_select()

    else:

        print("初始化异常...")



2.2 c_flag()

该函数用于修改flag文件中的内容


def c_flag():

    file = open("flag","w")

    file.write("1")

    file.close()



2.3 init()

初次启动系统时,需要创建管理员账户和用户文件


#3.初始化 创建管理员文件和普通用户目录

def init():

    file = open("u_root","w") # 创建并打开管理员账户文件

    root = {"username" : "root","pwd" : "123456"}

    file.write(str(root))

    file.close()

    os.mkdir("users")



2.4 print_login_menu()

该函数用于打印菜单

2.5 user_select()

系统根据用户输入,选择执行不同的流程。

用户输入1 调用root_login函数进行管理员登录等等


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.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



到这里用户登录案例就完成了

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
_FFFFFF,t_70)

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-q3b1InWU-1713206030717)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值