标签:
1 #!/usr/bin/env python 2 # -*-coding:UTF-8-*- 3 4 import re 5 6 def login(): 7 8 f=open("user",‘r‘) #读取user配置文件。 9 cont=f.readlines() #readlines把读取的行当作元素返回一个列表 10 f.close() 11 allname=[] #初始化一个用户列表 12 allpasswd=[] 13 for i in range(0,len(cont)-1): #len获取cont列表的元素数量 14 onecont=cont[i].split() #循环取一行内容并分割成列表,split()以空格为分隔符分割字符串并返回一个列表。 15 onename=onecont[0] #循环取一行中的帐号 16 onepasswd=onecont[1] # 17 allname.append(onename) #循环把每一行取到的帐号追加到用户列表中 18 allpasswd.append(onepasswd) 19 lf=open("user.lock",‘r‘) 20 lcont=lf.readlines() 21 lf.close() 22 print(lcont) 23 print(allname) 24 print(allpasswd) 25 26 cont=0 27 while cont < 3: 28 username=raw_input("login user:").strip() 29 passwd=raw_input("password:") 30 if username not in allname: 31 print("No this accont!") 32 33 elif (username +"\n") in lcont: 34 print("your account has been locked!Please contact admin!") 35 break 36 else: 37 rel_passwd_index=allname.index(username) #取该帐号在用户列表中的索引,此时用户列表的索引和密码列表的索引是对应的,因此我们同样>取到了该帐号的密码在密码列表的索引 38 rel_passwd=allpasswd[rel_passwd_index] #取该帐号的真实密码 39 if passwd==rel_passwd: 40 print("Login success!") 41 break 42 else: 43 print("password is error!") 44 cont+=1 45 if cont >= 3: 46 print("Excessive password error,your account has been locked!Please contact admin!") 47 nf=open("user.lock",‘wb‘) 48 nf.write(username+"\n") 49 nf.close() 50 51 52 login()
标签:
原文地址:http://www.cnblogs.com/cyalu/p/5295692.html