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 encode和decode的妙用
Sep 02 Python
python cookielib 登录人人网的实现代码
Dec 19 Python
Python中正则表达式的详细教程
Apr 30 Python
python实现识别相似图片小结
Feb 22 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
Flask框架配置与调试操作示例
Jul 23 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
Oct 25 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
python 伯努利分布详解
Feb 25 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 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
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP加密解密函数详解
2015/10/28 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
Es6 Generator函数详细解析
2018/02/24 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
对python:print打印时加u的含义详解
2018/12/15 Python
python实现日志按天分割
2019/07/22 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
日本航空官方网站:JAL
2019/06/19 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
学习自我鉴定
2014/02/01 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
公司副总经理任命书
2014/06/05 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书