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实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
django-allauth入门学习和使用详解
Jul 03 Python
简单了解Django ContentType内置组件
Jul 23 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
django 数据库返回queryset实现封装为字典
May 19 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
全网最全python库selenium自动化使用详细教程
Jan 12 Python
Python实现自动玩连连看的脚本分享
Apr 04 Python
pandas中pd.groupby()的用法详解
Jun 16 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
使用GD库生成带阴影文字的图片
2015/03/27 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
Vue响应式原理详解
2017/04/18 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python读取实时数据流示例
2019/12/02 Python
python绘制玫瑰的实现代码
2020/03/02 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
建材投资建议书
2014/05/16 职场文书
艾滋病宣传标语
2014/06/25 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
初中差生评语
2014/12/29 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers