Python3模拟登录操作实例分析
作者:爱跳舞的青年君 时间:2022-01-18 13:36:26
本文实例讲述了Python3模拟登录操作。分享给大家供大家参考,具体如下:
模拟登录_要求:
1. 用户输入账号密码进行登录
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户
逻辑图:
代码:
#!/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程序设计有所帮助。
来源:https://blog.csdn.net/weixin_39099836/article/details/78388688
标签:Python3,模拟登录
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python Json模块中dumps、loads、dump、load函数介绍
2021-03-20 11:21:20
![](https://img.aspxhome.com/file/2023/9/100989_0s.jpg)
DW自带的行为制作弹出菜单
2008-05-16 11:38:00
![](https://img.aspxhome.com/file/UploadPic/20072/200723113749490s.jpg)
css中absolute与relative的区别
2007-11-17 08:04:00
![](https://img.aspxhome.com/file/UploadPic/20071/200713110612782s.gif)
社会化音乐:在夹缝中生出花来
2009-08-24 12:37:00
![](https://img.aspxhome.com/file/UploadPic/20098/24/0908-music-flower-01-18s.jpg)
python 实现在Excel末尾增加新行
2023-11-26 09:27:52
php7安装openssl扩展方法
2023-11-14 17:34:14
Python实现提取Excel指定关键词的行数据
2022-09-01 10:15:59
![](https://img.aspxhome.com/file/2023/4/67834_0s.jpg)
PyTorch 普通卷积和空洞卷积实例
2021-01-06 16:42:57
![](https://img.aspxhome.com/file/2023/0/107130_0s.jpg)
网页制作了解什么是CSS hack?
2007-10-21 08:52:00
白话Block Formatting Context
2010-08-03 12:36:00
python人工智能tensorflow函数tf.assign使用方法
2023-04-08 00:59:03
利用Python通过获取剪切板数据实现百度划词搜索功能
2023-07-14 06:59:06
![](https://img.aspxhome.com/file/2023/5/68835_0s.png)
用javascript获得地址参数的两种方法
2008-04-30 12:17:00
ASP表单验证方法总结
2007-10-06 22:43:00
Python实现修改图片分辨率(附代码)
2021-06-30 02:00:10
![](https://img.aspxhome.com/file/2023/8/68878_0s.jpg)
ASP实例:幻灯片新闻代码
2008-11-21 17:40:00
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2023-11-19 20:31:59
Python爬虫模拟登录带验证码网站
2022-02-18 21:33:48
![](https://img.aspxhome.com/file/2023/6/107796_0s.png)
在Python程序中进行文件读取和写入操作的教程
2023-05-22 10:31:56
YUI Grids CSS 解读
2008-05-28 12:49:00