用户登录验证,输入密码错误三次,锁定此用户。 将用户信息存入文件

文件内容格式如下:

{'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开发之【用户登录锁定】的更多相关文章

  1. python入门:用户登录,三次错误机会

    #!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...

  2. Android studio 开发一个用户登录界面

    Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...

  3. python初步编写用户登录

     python初步编写用户登录 python编写用户登录 用python写一个脚本,使得这个脚本在执行后,可以产生如下的效果: 1.用户的账号为:root 密码为:westos 2.用户账号和密码均输 ...

  4. iOS开发一个用户登录注册模块需要解决的坑

    最近和另外一位同事负责公司登录和用户中心模块的开发工作,开发周期计划两周,减去和产品和接口的协调时间,再减去由于原型图和接口的问题,导致强迫症纠结症状高发,情绪不稳定耗费的时间,能在两周基本完成也算是 ...

  5. 用python连接数据库模拟用户登录

    使用pycharm下载pymysql库,在终端输入命令: pip install mysql 使用pycharm写登入操作前需要在数据库内添加一些数据,比如用户名和密码 create database ...

  6. python 3.5 用户登录验证和输入三次密码锁定用户

    #!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...

  7. python 3.x 用户登录重设密码

    import os import sys import getpass login_username = 'admin' login_password = ' u = 0 while u < 3 ...

  8. Python开发之用户密码存储

    在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数 ...

  9. python,关于用户登录与注册问题

    tag=Truecount=1while tag: name = input('请输入用户名>>:').strip() password = input('请输入密码>>:') ...

随机推荐

  1. nodejs+express+jade+mongodb给我baby做个小相册(2)-留言板

    上一篇简单的实现了下照片的展现跟浏览功能,这一篇我将给这个程序添加一个留言的功能.那么留言的话肯定要涉及到数据持久了,其实对于这个小功能的话,用个xml就可以,不过为了看起来更加高大上,我决定使用mo ...

  2. ok6410 android driver(9)

    In this essay, I will write the JNI to test our leds device. If you don't know how to create a jni p ...

  3. AC自动机 - 多模式串的匹配 --- HDU 3695 Computer Virus on Planet Pandora

    Problem's Link Mean: 有n个模式串和一篇文章,统计有多少模式串在文章中出现(正反统计两次). analyse: 好久没写AC自动机了,回顾一下AC自动机的知识. 本题在构造文章的时 ...

  4. NetworkComms.Net github下载地址

    https://github.com/MarcFletcher/NetworkComms.Net

  5. 译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志

    译文出处:http://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET-MVC 在 ...

  6. 循序渐进开发WinForm项目(4)--Winform界面模块的集成使用

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  7. [新手学Java]使用内省(Introspector)操作JavaBean属性

    获取类bean中的所有属性: @Test //获取类bean中的所有属性 public void test1() throws Exception{ BeanInfo info = Introspec ...

  8. 11条javascript知识

    1.局部变量和全局变量 var操作符定义的变量将成为定义该变量作用域中的局部变量.这个局部变量会在函数退出后销毁.不同于其他语言,javaScript不存在块级作用域. 全局变量就是window对象的 ...

  9. 获取用户的真实ip

    常见的坑有两个: 一.获取的是内网的ip地址.在nginx作为反向代理层的架构中,转发请求到php,java等应用容器上.结果php获取的是nginx代理服务器的ip,表现为一个内网的地址.php获取 ...

  10. mysql performance_schema/information_schema授权问题

    mysql> grant all on performance_schema.* to 'testuser'@'%';ERROR 1044 (42000): Access denied for ...