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()
浙公网安备 33010602011771号