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('请输入密码>>:') ...
随机推荐
- jQuery实现表格拖动排序
原理就是利用mousedown.mouseover.mouseup事件实现拖动,并用Ajax实现保存结果. JS代码如下: <!--题目调序功能--> <script type=&q ...
- 实用笔记-EF中直接运行SQL命令
在EF4.1,API的名字 有了些许改变,DbContext.Database就是对应于数据库端信息的封装.执行SQL命令也自然从Database类型开始.对应于ExecuteStoreCommand ...
- java俄罗斯方块游戏代码
java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.K ...
- WinForm给控件加入hint文字
本文代码主要是参考别人的,仅为个人记录,方面后续使用~ 效果图: 主要代码在一个Win32Utility类中,代码如下: public static class Win32Utility { [Dll ...
- FreeBSD 10 发布
发行注记:http://www.freebsd.org/releases/10.0R/relnotes.html 下文翻译中... 主要有安全问题修复.新的驱动与硬件支持.新的命名/选项.主要bug修 ...
- eclipse debug 快捷键
简单的说下调试的快捷键: 1 F5:下一步,可以进入下一个函数栈 2 F6:当前函数的下一步,不会进入其他的函数. 3 F8:下一个断点. 4 也可以通过选中一个变量或者表达式,按ctrl+shift ...
- Javascript定时跳转
因为做项目,用到跳转回上级页面,这里设置定时3秒跳转到目标页面 <script> setInterval("myInterval()",3000);//1000为1秒钟 ...
- ValueStack值栈和ActionContext
Struts2在OGNL之上提供的最大附加特性就是支持值栈(ValueStack),在OGNL上下文中只能有一个根对象,Struts2的值栈则允许存在许多虚拟对象. 一:值栈(ValueStack) ...
- 功放AUX接口解析
功放上的AUX输入端口就是音频输入端口,用来连接音频输出设备:PC机上声卡.MP3播放器.CD机等
- 我所了解的WEB开发(2) - PS切片
PS对于WEB设计和前端开发来说都是不可或缺的工具,基本的用途是用来处理网站的LOGO.Banner 以及按钮图标来着,但是一旦遇上要把整个PSD文件转成网页就让人非常头痛了,可能还不太专业.后来在公 ...