Python开发之【用户登录锁定】
用户登录验证,输入密码错误三次,锁定此用户。 将用户信息存入文件
文件内容格式如下:
{'username':'heilong','password':'','login_flag':True}
{'username':'dong','password':'','login_flag':True}
{'username':'bin','password':'','login_flag':False}
{'username':'dun','password':'','login_flag':False}
{'username':'ke','password':'','login_flag':False}
文件内容
import os
file_ismodify = False
username_in = input("请输入用户名:")
with open("login_lock", "r", encoding="utf-8") as read_file, \
open("login_lock_new", "w", encoding="utf-8") as write_file:
for line in read_file:
if eval(line)["username"] == username_in:
if eval(line)["login_flag"]:
print("您的账号被锁定,拒绝登录!")
break
else:
count = 0
while count < 3:
password_in = input("请输入密码:")
if eval(line)["password"] == password_in:
print("登录成功!")
break
else:
if count != 2:
print("登录失败,您还有%s次机会" % (2 - count))
else:
print("三次输入用户名或密码错误,拒绝登录!")
write_file.write("{'username':'%s','password':'%s','login_flag':%s}\n"\
%(username_in,eval(line)["password"],True))
file_ismodify = True
break
count += 1
else:
write_file.write(line)
if file_ismodify:
os.rename("login_lock","login_lock.bak")
os.rename("login_lock_new","login_lock")
os.remove("login_lock.bak")
else:
os.remove("login_lock_new")
代码
Python开发之【用户登录锁定】的更多相关文章
- python入门:用户登录,三次错误机会
#!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...
- Android studio 开发一个用户登录界面
Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...
- python初步编写用户登录
python初步编写用户登录 python编写用户登录 用python写一个脚本,使得这个脚本在执行后,可以产生如下的效果: 1.用户的账号为:root 密码为:westos 2.用户账号和密码均输 ...
- iOS开发一个用户登录注册模块需要解决的坑
最近和另外一位同事负责公司登录和用户中心模块的开发工作,开发周期计划两周,减去和产品和接口的协调时间,再减去由于原型图和接口的问题,导致强迫症纠结症状高发,情绪不稳定耗费的时间,能在两周基本完成也算是 ...
- 用python连接数据库模拟用户登录
使用pycharm下载pymysql库,在终端输入命令: pip install mysql 使用pycharm写登入操作前需要在数据库内添加一些数据,比如用户名和密码 create database ...
- python 3.5 用户登录验证和输入三次密码锁定用户
#!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...
- python 3.x 用户登录重设密码
import os import sys import getpass login_username = 'admin' login_password = ' u = 0 while u < 3 ...
- Python开发之用户密码存储
在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数 ...
- python,关于用户登录与注册问题
tag=Truecount=1while tag: name = input('请输入用户名>>:').strip() password = input('请输入密码>>:') ...
随机推荐
- dp - Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess
Gerald and Giant Chess Problem's Link: http://codeforces.com/contest/559/problem/C Mean: 一个n*m的网格,让你 ...
- 重构第12天 分解依赖(Break Dependencies)
理解:“分解依赖” 是指对部分不满足我们要求的类和方法进行依赖分解,通过装饰器来达到我们需要的功能. 详解:今天我们所讲的这个重构方法对于单元测试是非常有用的.如果你要在你的代码中加入单元测试但有一部 ...
- C#中CookieContainer获取里面cookie值异常:InvokeMember("m_domainTable") FieldAccessException
1.可能是主机提供商的 安全问题. Their hosts works in medium trustsecurity, and ASProxy needs a full trust security ...
- ASP.NET使用UpdatePanel实现AJAX
ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖于ScriptManager存在, ...
- 自定义动画方法animate
animate的使用方法:animate(params,speed,callback); 例子:animate({ right: "-=600px",height:"+= ...
- [js开源组件开发]js多选日期控件
js多选日期控件 详情请见:http://www.lovewebgames.com/jsmodule/calendar.html 它的github地址:https://github.com/tianx ...
- 微信公共平台开发3 .net
嗯,别的不说了现在开始接着上次http://www.cnblogs.com/QLJ1314/p/3838058.html 获取ACCESSTOKEN,开始吧,接下来我们就写发送文本消息吧. 首先建立 ...
- Mvc项目架构分享之项目扩展
Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...
- R Graphics Cookbook 第3章 – Bar Graphs
3.1 基本条形图 library(ggplot2) library(gcookbook) pg_mean #这是用到的数据 group weight 1 ctrl 5.032 2 tr ...
- android XMl 解析神奇xstream 二: 把对象转换成xml
前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...