python实现简单登陆流程的方法


Posted in Python onApril 22, 2018

登陆流程图:

python实现简单登陆流程的方法

代码实现:

#-*- coding=utf-8 -*-
import os,sys,getpass
'''
user.txt 格式
账号 密码 是否锁定 错误次数
jack 123 unlock 0
tom 123 unlock 0
lily 123 unlock 0
hanmeimei 123 unlock 0
lucy 123 unlock 0
'''
# 定义写入文件的函数
def wirte_to_user_file(users,user_file_path):
	user_file = file(user_file_path,'w+')
	for k,v in users.items():
		line = []
		line.append(k)
		line.extend(v)
		user_file.write(' '.join(line)+'\n')
	user_file.close()
# 判断用户文件是否存在,不存在直接退出
user_file_path = 'users.txt'
if os.path.exists(user_file_path):
	user_file = file(user_file_path,'r')
else:
	print 'user file is not exists'
	sys.exit(1)
# 遍历用户文件,将用户包装成字典
users_dic = {}
for user_line in user_file:
	user = user_line.strip().split()
	users_dic[user[0]] = user[1:]
'''
{
	'lucy': ['123', 'unlock', '0'], 
	'lily': ['123', 'unlock', '0'], 
	'jack': ['123', 'unlock', '0'], 
	'hanmeimei': ['123', 'unlock', '0'], 
	'tom': ['123', 'unlock', '0']
}
'''
while True:
	# 输入账号
	input_name = raw_input('please input your username,input "quit" or "q" will be exit : ').strip()
	# 判断是否为退出
	if input_name == 'quit' or input_name == 'q':
		sys.exit(0)
	# 输入密码
	password = getpass.getpass('please input your password:').strip()
	# 判断账号是否存在、是否锁定
	if input_name not in users_dic:
		print 'username or password is not right'
		break
		
	if users_dic[input_name][1] == 'lock':
		print 'user has been locked'
		break
	
	# 判断密码是否正确,正确,登陆成功
	if str(password) == users_dic[input_name][0]:
		print 'login success,welcome to study system'
		sys.exit(0)
	else:
		# 如果密码错误则修改密码错误次数
		users_dic[input_name][2] = str(int(users_dic[input_name][2])+1)
		# 密码错误次数大于3的时候则锁定,并修改状态
		
		if int(users_dic[input_name][2]) >= 3:
			print 'password input wrong has 3 times,user will be locked,please connect administrator'
			users_dic[input_name][1] = 'lock'
			wirte_to_user_file(users_dic,user_file_path)
			break
		
		wirte_to_user_file(users_dic,user_file_path)

以上这篇python实现简单登陆流程的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python encode和decode的妙用
Sep 02 Python
python中MySQLdb模块用法实例
Nov 10 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
基于Python的文件类型和字符串详解
Dec 21 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
python批量爬取下载抖音视频
Jun 17 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 Python
Django自定义YamlField实现过程解析
Nov 11 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 Python
Python 实现选择排序的算法步骤
Apr 22 #Python
python学习基础之循环import及import过程
Apr 22 #Python
Python中循环引用(import)失败的解决方法
Apr 22 #Python
Python 数据处理库 pandas进阶教程
Apr 21 #Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 #Python
将python代码和注释分离的方法
Apr 21 #Python
Python基于百度AI的文字识别的示例
Apr 21 #Python
You might like
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
php遍历数组的方法分享
2012/03/22 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
3种php生成唯一id的方法
2015/11/23 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
简单了解Django模板的使用
2017/12/20 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
高中校园广播稿
2014/01/11 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
关爱留守儿童标语
2014/06/18 职场文书
个人租房协议书样本
2014/10/01 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
教师思想工作总结2015
2015/05/13 职场文书