要求,通过用户名密码登录,登录错误3次,锁定用户名

 1 # coding=utf-8
 2 # Author: RyAn Bi
 3
 4 import os, sys  #调用系统自己的库
 5
 6 accounts_file = 'E:\\homework\\user.txt'  # 存放用户名密码的位置
 7 lock_file = 'E:\\homework\\lock.txt'  #存放锁定用户名的位置
 8 print('accounts_file:', accounts_file)
 9 '''
10 temp1 = open(accounts_file,'a') #a为加入
11 temp1.write('bjb,123'+'\n')
12 temp1.close()  #写入用户名密码的功能,在登录的时候不用
13 '''
14 user = open(accounts_file, 'r') #r为只读
15 # print('user:',user)
16 account_list = user.readlines()  #逐行按分隔符阅读,readline是逐字节阅读
17 # print('account_list:',account_list)
18 user.close()   #读取用户名和密码到内存中
19
20 user1 = open(lock_file, "r")
21 lock_list = user1.readlines()
22 # print(lock_list)
23 user1.close()  #读取被锁定的用户名到内存中
24 loginSucess = False   #默认将loginSucess置为假
25 while True:
26     username = input('username:').strip()  #.strip是去除空格和\n
27     lockid = 0        #锁定用户标识值为零,不锁定
28     if len(username) != 0:      #假如用户名不为空
29         for i in lock_list:
30             # i = i.split(' ')   #i的分割符为空格
31             # print(i)
32             if username == i.strip():
33                 print('your username %s is locked!' % username)
34                 lockid = 1
35                 break  # 判断该帐号是否被锁定
36         for i in account_list:
37             # print(i)
38             if lockid == 1:  #被锁定了禁止执行
39                 break
40             else:
41                 i = i.split(',')
42                 # print(i)
43                 if username == i[0]:
44                     for x in range(3):
45                         password = input('password:').strip()
46                         if password == i[1].strip():  # 去掉空格和换行符
47                             loginSucess = True
48                             # print('you are right')
49                             break   #验证3次密码,成功了置 loginsuccess 为真
50                     else:
51                         print('%s,you input wrong password 3 times,your %s is locked!' % (username, username))
52                         l = open(lock_file, 'w') #w只允许写入,以写入方式打开locklist
53                         if l != "":
54                             l = open(lock_file, 'a') #假如是locklist中有内容,用添加方式打开locklist,避免空白行
55                         l.write(username + '\n') #将用户名写入
56                         l.close()
57                         lockid = 1
58                         # view = open(lock_file)
59                         # print(view.read())
60         if loginSucess is True:
61             print('welcome to system')
62             break
63         elif lockid == 0:
64             print('you input a wrong username,pls input again')
65         else:
66             # print('%s,you input wrong password 3 times,your %s is locked!' % (username, username))
67             break
68     else:  # 用户名输入为空的时候
69         continue

转载于:https://www.cnblogs.com/bbgoal/p/10237816.html

pyhton学习,day1作业,用户名密码登录模块相关推荐

  1. 谷粒商城笔记+踩坑(17)——【认证模块】登录,用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录

    导航: 谷粒商城笔记+踩坑汇总篇 目录 5. 用户名密码登录 5.1[认证模块]登录业务 5.1.1 模型类,接收用户名密码 5.1.2 feign客户端新增登录功能 5.1.3 LoginContr ...

  2. Uni-app 手机号+验证码登录 用户名密码登录登出

    用户名密码登录,手机号登录 用户名密码登录:用了uniapp+uview的$u.debounce防抖方法,再发送请求 判断正则以及同意条款勾选后,发起登录请求(参数是用户名和密码),如果请求成功--s ...

  3. python凯撒密码加密写入文件_Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作...

    #-*- coding: gb2312 -*-#用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作#作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/k ...

  4. Openvpn搭建并使用用户名密码登录

    Openvpn搭建并使用用户名密码登录 搭建前准备 Centos6.9操作系统 端口映射设备(路由器/防火墙) 一.服务端搭建过程 1.安装openvpn和证书生成程序 yum -y install ...

  5. 史上最简单的Spring Security教程(二十八):CA登录与默认用户名密码登录共存详细实现及配置

    ​在前面的文章中,我们自定义了一些CA登录相关的类,如 CertificateAuthorityAuthenticationToken.CertificateAuthorityAuthenticati ...

  6. ssh 用户名密码登录

    ssh不允许用户名密码登录的,然后大神告诉我有个expect可以实现. 安装expect ubuntu的安装,别的请自己百度 apt-get install expect 使用 大神当然有demo,嘿 ...

  7. Django框架(五) 用户名密码登录

    Django框架(五) 用户名密码登录 首先将setting.py中debug模式改为true 1.增加数据库 在acapp/game/models中建立player文件夹,创建__init__.py ...

  8. 003用户名密码登录

    003用户名密码登录 qq:672377334 # -*- coding:utf-8 -*- name="aaa" password="123"i=3 #def ...

  9. Putty免用户名密码登录设置

    Putty免用户名密码登录设置 生成public和private key 新建session 将public key加入authorized_keys文件中 完成免用户名密码登录 生成public和p ...

最新文章

  1. LeetCode--160--相交链表
  2. python如何读入dat数据_python二进制dat数据怎么转成txt文本
  3. Design Compiler指南——后综合过程
  4. 981. 基于时间的键值存储
  5. c++: internal compiler error: Killed
  6. C#LeetCode刷题之#448-找到所有数组中消失的数字(Find All Numbers Disappeared in an Array)
  7. 怎么看so文件是哪个aar引进来的_运城人才引进7月5号面试
  8. Redis搭建及介绍
  9. 互联网平台黑产解密(下)
  10. iOS崩溃日志ips文件解析
  11. 大咖联袂发布 《慧技术·惠金融——2022金融科技趋势研究报告》开放下载
  12. 新浪微博开发者创新基金开始接受申请
  13. Android拓展系列(5)--CyanogenMod源码下载和编译(Android ROM定制基础篇)
  14. 管理工具 QTTabBar
  15. wifi计费认证系统php,TP-LINK认证计费系统 - TP-LINK官方网站
  16. openresty 与 java RSA加解密
  17. 作业调度系统--SGE和PBS的使用方法
  18. Windows超级管理器-便携版
  19. 微软的winget包管理器
  20. rsyncd.conf 文件man手册翻译

热门文章

  1. Python中的相对文件路径的调用
  2. Stanley轨迹跟踪算法Python/Matlab算法实现
  3. 虚拟机安装mysql_linux虚拟机中安装MySQL
  4. java 序列化异常_关于spring:Java序列化异常消息
  5. abaqus失效单元删除_abaqus单元删除的一般方法
  6. Lambda表达式 入门实战
  7. PHP获取input中的值相同报错,laravel单元测试之phpUnit中old()函数报错解决_php实例...
  8. 软考网络管理员学习笔记6之第六章互联网技术
  9. 渗透测试入门20之渗透测试七阶段
  10. jQuery 树插件ZTree使用Demo