码迷,mamicode.com
首页 > 编程语言 > 详细

小菜鸟的python学习之路----信息查询系统

时间:2015-04-05 19:02:45      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:用户名   源代码   password   python   查询系统   

功能说明:

(1)用户认证功能,只有输入对的用户名和密码后才能查询
(2)可以查员工的ID,Name,部门,电话
(3)查询的接口关键字是姓名,用户通过姓名来查其他关联相关信息。
(4)查完了输出用户信息,如果查询失败,报没有这个用户,然后循环起来


python源代码如下(通过读取外部文件来导入数据)

#!/usr/bin/env python
# encoding=utf-8
# author:sihaogongyuan
# date:2015-4-5
# desc:2015-4-5 test
import sys
import os
#输出系统当前的时间,并分隔####################################
print os.system(‘date‘),‘\n‘,‘#################################‘
#假设数据库中的name和password都为admin
manage_name_db=‘admin‘
manage_password_db=‘admin‘
#################################################################
#定义死循环,使用户可以直接循环输入要查询的东西
while True:
    #让用户输入管理员名称
    manage_name=raw_input(‘please input your manage name:‘)
    #如果用户输入的管理员名称和定义的数据库中名称一样,则让用户输入管理密码
    if manage_name==manage_name_db:
        manage_password=raw_input(‘please input your manage password:‘)
        #当用户输入的管理员密码和db库中的密码不一致时,提示用户再次输入管理密码
        #直到密码输入成功
        while manage_password!=manage_password_db:
            manage_password=raw_input(‘manage password is error,please try again:‘)
        #直到用户密码输对了,跳出密码的这个while循环,执行后面的else语句
        else:
            #打印出欢迎界面,来到软件
            print ‘\033[32mwelcome to my contact_select_software!\033[0m‘
            #定义用户查询信息代码断,涉及到用户多次查询,所以定义while循环
            while True:
                #定义match变量,初始赋值为NO,代表不匹配
                match=‘NO‘
                #定义select_name变量,作为被查询的用户名
                select_name=raw_input(‘please input you select name:‘)
                #如果select_name变量为空的话,提示用户重新输入用户名,直到非空
                #此时直接按回车键,代表传递过去的也是空字符串,注意
                while select_name.strip()==‘‘:
                    select_name=raw_input(‘please input you select name:‘)
                #打开外部关联文件/tmp/python/contact.txt,默认只读模式
                select_file=file(‘/tmp/python/contact.txt‘)
                #为每次读取文件中的每一行,做一个循环
                while True:
                    #line变量的值就是每次调用readline()函数,每次取出一行内容
                    line=select_file.readline()
                    #len函数判断该行中的字符串数量,如果数量为0代表到文件末,已经读取出了
                    #最后一行,跳出读取文件的while循环
                    if len(line)==0:
                        break
                    #当要搜索的名称在该行中,输出该行所有内容
                    elif select_name in line:
                        print ‘%s‘%(line)
                        #把变量match赋值为YES
                        match=‘YES‘
                    else :
                        pass
                        #pass为空指令,什么都不执行
                #如果要搜索的用户名在所有的行中都没有的话,通过len(line)==0,最后break
                #跳出了读取文件内容的while循环,因为初始的match变量内容为NO,代表没有匹
                #配到,如果文件中出现过搜索的内容的话,match变量就被置为1了。
                if match!=‘YES‘:
                    print ‘no match founded‘
    #当用户输入的管理员账户与db库中的管理员账户不一致的时候,提示用户输入错了,重新输入
    #会跳到最大的while循环那去,manage_name重新接受用户的输入请求
    else:
        print ‘name is not funded,try again:‘

/tmp/python/contact.txt格式如下:(中间以tab键来分隔的)

1    xiaohogn    IT    9999999999
2    xiaopang    IT    666666666
3    xiaofei    IT    8888888888

本文出自 “将运维进行到底” 博客,请务必保留此出处http://3971212.blog.51cto.com/3961212/1629068

小菜鸟的python学习之路----信息查询系统

标签:用户名   源代码   password   python   查询系统   

原文地址:http://3971212.blog.51cto.com/3961212/1629068

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!