python编写用户登陆系统,python文件实现用户管理系统
之前我只用C语言文件操作登录用户。学了几天python,感觉自己又擅长了。下面的文章主要介绍Python文件操作实际案例中用户登录的相关信息,通过示例代码非常详细的介绍。有需要的朋友可以参考一下。
一、前言二。案例:用户登录1。案例分析2。编程2.1 Main()2.2C _ Flag()2.3 init()2.4 print _ log in _ menu()2.5 user _ select()2.6 root _ log in()2.7 user _ register(
目录
在上一节中,我们介绍了文件的基本操作和数据交换的格式,以巩固我们在上一节中对文件操作的知识。
这里我们做一个基本案例:用户登录。
一、前言
许多应用涉及数据的存储和使用。作为数据存储的基本形式,文件和应用程序密不可分。
二、案例:用户登录
用户登录模块可以分为管理员登录和用户登录。如果使用软件或浏览器,系统会判断用户是否是第一次使用:如果是第一次,则初始化,否则选择用户类型。如果选择以管理员身份登录,直接登录。如果是用户,那么会提示用户是否注册登录。
根据以上分析,用户管理模块包含以下文件
标志文件用来检测你是否第一次登录,初始数据为0,第一次启动程序是修改数据为1,管理员帐号文件u_root。它用于保存管理员的帐户信息,普通用户帐户文件。用于保存普通用户注册的账号。
1.案例分析
main()程序入口c _ flag3360标志位文件更改初始化信息初始化print_login_menu打印登录菜单user_select用户选择root_login管理员登录user_register用户注册user_login普通用户登录
2.程序设计
这个函数是程序的入口。这里需要做的是判断是否是第一次使用系统,确保读取的是同一个flag对象。这里,flag对象的值存储在文件flag中,程序每次启动时都会调用main函数。这个函数首先要打开标志文件,从中读取数据进行判断,根据代表文件的数据执行不同的分支。
定义主():
flag=open(flag )
word=flag.read()
如果word==0:
打印(“首次登录”)
flag.close()
C_flag() #被标识为1。
Init() #初始化
Print_login_menu() #打印登录菜单
User_select() #选择一个用户
elif word==1:
#第一次未登录
打印(“欢迎回来”)
print_login_menu()
用户选择()
else:
打印(初始化异常.)
2.1 main()
该函数用于修改标志文件的内容。
def c_flag():
file=open(flag , w )
file.write(1 )
file.close()
2.2 c_flag()
当您第一次启动系统时,您需要创建一个管理员帐户
用户文件
#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
到这里用户登录案例就完成了
最后在程序中添加如下代码:
if __name__ == "__main__":main()
3.功能演示
在程序目录中创建flag文件,并在其中输入0,保存退出,执行程序
代码汇总
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() #打印登录菜单
user_select() # 选择用户
elif word == "1":
#不是首次登录
print("欢迎回来")
print_login_menu()
user_select()
else:
print("初始化异常...")
if __name__ == "__main__":
main()
总结
到此这篇关于Python文件操作实战案例之用户登录的文章就介绍到这了,更多相关Python用户登录内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。