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 with用法实例
Apr 14 Python
python中sleep函数用法实例分析
Apr 29 Python
python GUI实例学习
Nov 21 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
简述python&amp;pytorch 随机种子的实现
Oct 07 Python
总结三种用 Python 作为小程序后端的方式
May 02 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
PHP5中MVC结构学习
2006/10/09 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python实现的特征提取操作示例
2018/12/03 Python
Python中extend和append的区别讲解
2019/01/24 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
python中_del_还原数据的方法
2020/12/09 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
英国健身专家:WIT Fitness
2021/02/09 全球购物
《赶海》教学反思
2014/04/20 职场文书
化学教育专业自荐信
2014/07/04 职场文书
青年文明号申报材料
2014/12/23 职场文书
人生遥控器观后感
2015/06/11 职场文书