Python3模拟登录操作实例分析


Posted in Python onMarch 12, 2019

本文实例讲述了Python3模拟登录操作。分享给大家供大家参考,具体如下:

模拟登录_要求:

1. 用户输入账号密码进行登录
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户

逻辑图:

Python3模拟登录操作实例分析

代码:

#!/usr/bin/env python3
# Author:Robert
# --*-- coding: utf-8 --*--
count = 0  #记录试错次数,计数项赋初始值
load = True  #完成功能后退出,赋初始值
file = open("用户信息文件.txt",'r',encoding='utf-8')
file_lock = open("锁定用户信息文件.txt",'r+',encoding='utf-8')
line = eval(file.readline())  #将正确信息中的字符串转换成字典(原字符串为字典格式)
line_list = eval(file_lock.readline())  #将正确信息中的字符串转换成列表(原字符串为列表格式)
def out():  #定义重复代码,目的是帮助跳出while循环并关闭已打开的文档
  global load
  load = False  #赋值load,为了跳出while循环
  file_lock.close()  #关闭正确用户信息文档
  file.close()  #关闭锁定用户信息文档
while load:  #判断是否已完成功能
  name = input("请输入用户名:")
  password = input("请输入密码:")
  if name in line and name not in line_list:  #判断用户名是否正确,是否已被锁定
    while count < 3:
      if password == line[name]:  #判断用户名是否对应正确的密码
        print("您已成功登录")
        out()  #调用定义out方法
        break
      else:  #说明未输入的正确的密码
        count +=1
        msg_count = '第%s次密码输入错误\n'%(count)  #提示输入错误次数
        print(msg_count)
        if count < 3:  #小于三次错误的输入,可以重新输入
          password = input("密码错误,请重新输入密码:")  #重新输入密码
        elif count == 3:  #判断是否已输错三次
          print("已输错3次,账号已锁定")
          line_list.append(name)  #将已锁定信息加入锁定元组中
          file_lock.seek(0)  #输入指针移到开头,如果不移动会产生多个元组
          file_lock.write(str(line_list))  #写入锁定信息
          file_lock.tell()  #获取当前的输入指针位置,如果不获取会产生多个元组
          out()
          break
  elif name in line_list:  #判断用户名是否在已锁定用户名中
    print("该用户名已被锁定")
    out()
    break
  else:  #说明用户名不在正确用户名信息中
    print("该用户名不存在")
    out()

用户信息文件.txt

{"name":"password","XiaoMing":"123456","Robert":"234567","Alex":"345678","haha":"123","hahage":"123","hahage2":"123","hahage3":"123"}

锁定用户信息文件.txt

['name']

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python标准库之随机数 (math包、random包)介绍
Nov 25 Python
Python中的迭代器漫谈
Feb 03 Python
python实现数独算法实例
Jun 09 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
Python 模板引擎的注入问题分析
Jan 01 Python
python算法演练_One Rule 算法(详解)
May 17 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
Python中super函数用法实例分析
Mar 18 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 #Python
Python 函数返回值的示例代码
Mar 11 #Python
浅谈Python批处理文件夹中的txt文件
Mar 11 #Python
Python数据报表之Excel操作模块用法分析
Mar 11 #Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 #Python
Python实现截取PDF文件中的几页代码实例
Mar 11 #Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 #Python
You might like
windows xp下安装pear
2006/12/02 PHP
php生成gif动画的方法
2015/11/05 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
PHP 断点续传实例详解
2017/11/11 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python实现简单成绩录入系统
2019/09/19 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
Python如何解除一个装饰器
2020/08/07 Python
python切割图片的示例
2020/11/12 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
青年文明号复核材料
2014/02/11 职场文书
表决心的诗句大全
2014/03/11 职场文书
金融事务专业求职信
2014/04/25 职场文书
实习单位鉴定评语
2014/04/26 职场文书
信用卡工作证明模板
2014/09/14 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
python析构函数用法及注意事项
2021/06/22 Python