一,第一种:
采用文件中contact.txt中第一行读出后,将其分割成列表,然后对其判断,但是不支持部门查询。
#!/usr/bin/env python while True: name=raw_input('please input name:') if name == 'small': while True: password=raw_input('please input password:') if password == '123': print 'welcome login system' while True: input=raw_input('please input employee name:') f=open('contact.txt','r') match=0 for i in f.readlines(): if input == i.split(" ")[1]: print i match=1 if match==0: print "user not found,please input" f.close() #break else: print 'password is wrong,try again' break
第二种:将文件中每行读出后成字符串的形式,因此支持各个字段查询。
#!/usr/bin/python while True: input = raw_input("please input your username:") if input == 'small': password = raw_input("please input your pass:") p = '123' while password != p: password = raw_input("wrong passwd,input again:") else: print "welcome login to linux!" while True: match_yes = 0 input = raw_input("\033[32mPlease input name whom you want to search:\33[0m") contact_file = file('contact_list.txt','r') while True: line = contact_file.readline() if len(line) == 0:break if input != "" and input in line: print "match item: \33{36,1m%s\033[0m" % line match_yes = 1 if match_yes == 0 :print "no match item found"
第三种:用字典的方式来实现
#!/usr/bin/env python f=file('contact.txt') personal={} for line in f.readlines(): name= line.split()[0] personal[name]=line while True: f=file('contact.txt') personal={} for line in f.readlines(): name= line.split()[0] personal[name]=line while True: input=raw_input('please input username:').strip() if len(input) == 0:continue if input in personal: #if personal.has_key(input): #print 'username information: %s' %personal.get(input) print 'username information: %s' %personal[input] else: print '%s not found,please input' %input
转载于:https://blog.51cto.com/damondeng/1354239