python用户登录(输入用户名和密码)dic_Python使用装饰器模拟用户登陆验证功能示例...
本文实例讲述了Python使用装饰器模拟用户登陆验证功能。分享给大家供大家参考,具体如下:
# -*- coding:utf-8 -*-
#!python3
user_list = [
{'name':'ad1','passwd':'123'},
{'name':'ad2','passwd':'123'},
{'name':'ad3','passwd':'123'},
{'name':'ad4','passwd':'123'}
]
#初始状态,用来保存登陆的用户,
client_dic = {'username':None,'login':False}
#添加新功能
def auth_func(func):
def wrapper(*args,**kwargs):
#参数检查,判断是否有用户登录,如果有,不用验证,直接执行函数的功能
if client_dic['username'] and client_dic['login']:
res = func(*args,**kwargs)
return res
#输入用户名和密码
username = input('用户名:').strip()
passwd = input('passwd:').strip()
#对比列表,检查用户名和密码是否正确
for user_dic in user_list:
if username == user_dic['name'] and passwd == user_dic['passwd']:
client_dic['username'] = user_dic['name']
client_dic['login'] = True
res = func(*args,**kwargs)
return res
else:
print('用户名或者密码错误!')
return wrapper
@auth_func
def index():
print("欢迎来到主页")
@auth_func
def home(name):
print("欢迎回家:%s"%name)
@auth_func
def shoppping_car():
print('购物车里有[%s,%s,%s]'%('奶茶','妹妹','娃娃'))
print(client_dic)
index()
print(client_dic)
home('root')
运行结果:
希望本文所述对大家Python程序设计有所帮助。
python用户登录(输入用户名和密码)dic_Python使用装饰器模拟用户登陆验证功能示例...相关推荐
- php的toast,使用toast组件实现提示用户忘记输入用户名或密码功能
微信小程序现在越来越流行,所需要的开发功能越来越多,本文主要介绍了微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能,结合实例形式详细分析了toast组件实现消息提示功能的相关操作技巧 ...
- win10创建新的计算机用户名和密码忘了,Win10 2004中要使用本计算机用户必须输入用户名和密码选项不见了如何恢复?...
大家可能也会遇到这个问题,发现打开用户账户窗口的时候,原先"用户账户"配置界面中的"""要使用本计算机,用户必须输入用户名和密码"选项不见了 ...
- 没有要使用本计算机 用户必须输入密码,要使用本计算机,用户必须输入用户名和密码选项不见了怎么办...
要使用本计算机,用户必须输入用户名和密码选项不见了怎么办?当我们在取消win10电脑的开机密码时,发现"要使用本计算机,用户必须输入用户名和密码"选项不见了,该怎么办呢,下面就和小 ...
- win10没有要使用本计算机用户必须,Win10 2004中要使用本计算机用户必须输入用户名和密码选项不见了如何恢复?...
大家可能也会遇到这个问题,发现打开用户账户窗口的时候,原先"用户账户"配置界面中的"""要使用本计算机,用户必须输入用户名和密码"选项不见了 ...
- 请输入计算机用户名,要使用本计算机,用户必须输入用户名和密码选项不见了怎么办...
要使用本计算机,用户必须输入用户名和密码选项不见了怎么办?当我们在取消win10电脑的开机密码时,发现"要使用本计算机,用户必须输入用户名和密码"选项不见了,该怎么办呢,下面就和小 ...
- python 装饰器实现事件绑定_Python装饰器实现几类验证功能做法实例
最近新需求来了,要给系统增加几个资源权限.尽量减少代码的改动和程序的复杂程度.所以还是使用装饰器比较科学 之前用了一些登录验证的现成装饰器模块.然后仿写一些用户管理部分的权限装饰器. 比如下面这种 调 ...
- Python装饰器模拟京东登陆
#_author:"zhengly" #date:2018/6/6 '''装饰器应用之登录''' '''装饰器''' #账号密码 username,password='zheng' ...
- vue 用户登录 记住用户名和密码
第一种思路就是本地存储localStorage 存储 localStorage.setItem("rem_userName", c_name); localStorage.setI ...
- python 装饰器模拟京东登陆
要求: 源代码: login_status = False # 登录状态 with open('账户信息', 'r') as f_read_self:jingdong = f_read_self.re ...
最新文章
- Python3中装饰器介绍
- 推荐系统发展的六大影响因子 | 深度
- 【CVPR2020】目标检测方向论文更新
- java生成pdf看不到至值_java生成pdf报错找不到DPF标题签名
- 工信部通告:任何组织和机构不得继续实施“计算机信息系统集成企业资质认定”...
- SpringBoot项目中,如何更规范的使用PageHelper分页?
- QT的QClipboard类的使用
- Python 资料性网站。
- 学习java之利用泛型访问自己定义的类
- sql升序,降序的问题
- python骗局-1.python真的是万恶之源么?(初识python)
- SVM原理,及和逻辑回归区别
- 360极速浏览器调用selenium
- C# 实现定时/循环任务
- 从Maya中把模型搬运至网页的过程
- 中国新出海故事:人、疫情与纽带
- java校招笔试题目_Java校招笔试题
- 【博主推荐】html好看的邀请函(附源码)
- 关于Jupyter Notebook的环境配置
- 模块说和神经网络学说_2020山东教师招聘考试:带你领略脑机能学说
热门文章
- 图像处理之基础---图像高效不失真缩放既卷积应用
- javascript本地,宿主,内置对象
- 发布过程5分钟内load飙升问题排查
- jqGrid获取一行数据的方法
- 递归、os.walk、内置函数、lambda、hashlib模块、md5加密、python安装第三方模块、操作mysql数据库...
- Leetcode475.Heaters供暖器
- 新建jsp报错“The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path”...
- Eclipse插件安装出现Duplicate location错误
- Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)
- Visual Assist X Options 注释设置-类