您的位置:首页 > 编程语言 > Python开发

python简单查询用户

2014-01-23 21:47 513 查看
一,第一种:
采用文件中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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: