python単純クエリーユーザー


1つ目は
ファイルの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

2つ目は、ファイル内の行ごとに文字列として読み出されるため、各フィールドクエリーがサポートされます.
#!/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