python学习第一周 模拟登陆

  今天开始学习python,在这个博客记录下学习过程,当作自己成长的见证。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
## Author:lzf8989
import os
#定义变量初始值
#计数器初始值
counter = 1
#登陆状态初始值
login_status = 0
#默认账户文件
file = "pass.txt"
#主程序开始,循环提示用户输入账户。
while 1:
    #获取用户输入信息。去掉空字符。
    username_input = input("username:").strip()
    password_input = input("pasword:").strip()
    #判断用户输入次数
    if counter < 3:
        #计数器小于3此,开始逐行读取密码文件。
        pass_file = open(file,'r')
        line = pass_file.readline()
        while line:
            #切割字符串,获取密码文件中的账户信息。
            username_file = line.split()[0].strip()
            userpass_file = line.split()[1].strip()
            lock_status = int(line.split()[2])
            #匹配用户名、密码如果相同,标记login_status=1
            if username_input == username_file and password_input == userpass_file:
                login_status = 1
            #匹配用户名相同,lock_status=1,标记login_status=2.
            if username_input == username_file and lock_status == 1:
                login_status = 2
            #读取下一行
            line = pass_file.readline()
        #判断login_status值,输出结果。
        if login_status == 1:
            print ("账户输入正确")
            break #登陆成功,可以推出或者放入其它程序。
        elif login_status == 2:
            print ("账户锁定中!!!")
            counter += 1 #计数器+1,开始下一次循环。
        else:
            print ("用户名或密码错误,请重新输入")
            counter += 1 #计数器+1,开始下一次循环。
    else:
        #计数器大于3次,输出提示,锁定账户。
        print ("输入次数过多,锁定账户",username_input)
        #逐行读取,并设置临时文件
        pass_file = open(file,'r')
        line = pass_file.readline()
        new_pass_file = open("pass_new.txt",'w')
        #匹配账户,修改文件。
        while line:
            #整理用户名、密码、状态字段,清理字符串前后的空字符。
            username_new_file = line.split()[0].strip()
            userpass_file = line.split()[1].strip()
            userstatus_file = line.split()[2].strip()
            #判断用户名是否匹配,写入用户数据到临时文件。
            if username_new_file == username_input:
                #print (username_new_file," ",userpass_file," 1")
                lock_user_info = username_new_file + " "+userpass_file+" 1"+'\n'
                new_pass_file.write(lock_user_info)
            else:
                #print (username_new_file," ",userpass_file," ",userstatus_file)
                other_user_info = username_new_file + " " + userpass_file+" " + userstatus_file + '\n'
                new_pass_file.write(other_user_info)
            line = pass_file.readline()
        pass_file.close()
        #从临时文件读取信息,写入pass.txt文件。
        new_pass_file = open("pass_new.txt")
        read_new_pass_file = new_pass_file.read()
        old_pass_file = open(file,'w')
        old_pass_file.write(read_new_pass_file)
        new_pass_file.close()
        #删除临时文件
        os.unlink("pass_new.txt")
        break
    pass_file.close()

 

posted @ 2016-11-23 02:26  lzf8989  阅读(131)  评论(0)    收藏  举报