python学习 - 登录模块

#!usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Zhuyuzhe

import sys
import os
import getpass

os.system('cls')

RetryCount = 0    # 重试计数器
RetryLimit = 3    # 最大重试次数

while RetryCount < RetryLimit:
    InputName = input('请输入用户名:')

    # 读取锁定用户列表
    LockFile = open('account_lock.txt','r+')
    LockList = LockFile.readlines()

    # 判断是否为锁定用户
    for LockLine in LockList:
        LockLine = LockLine.strip('\n')    # strip()方法用于移除字符串头尾指定的字符(默认为空格)。
        if InputName == LockLine:
            print('用户已经被锁定,退出...')
            sys.exit()
    
    # 读取用户名及密码
    UserFile = open('account.txt','r')
    UserList = UserFile.readlines()

    for UserLine in UserList:
        (User,Password) = UserLine.strip('\n').split()    # split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
        if InputName == User:    #如果输入的用户名正确
            j = 0
            while j < RetryLimit:
                InputPassword = getpass.getpass('请输入密码:')
                if InputPassword == Password:    #密码输入正确
                    print('Welcome login...')
                    sys.exit(0)
             
                j += 1
            else:
                LockFile.writelines(InputName + '\n')
                print('重试次数过多,用户 %s 被锁定'% InputName)

        else:    # 如果输入的用户名不存在
            pass
    RetryCount += 1

LockFile.close()
UserFile.close()

  

posted @ 2018-01-31 17:49  猪大宝  阅读(156)  评论(0)    收藏  举报