小菜鸟的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

时间: 2024-10-21 11:53:20

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

菜鸟的python学习之路

一,编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号. 对于中文,使用utf-8对于内存的使用: 分别对于英文字符和中文字符的存储是分开

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false

Python学习之路(第一周)

走上软件开发之路已经三个年头.我本人是android原生开发出生.期间由于工作的需要以及开发的趋势发展,也走上混合开发的道路,现在主要运用ionic框架进行移动端app的开发.但是未来的互联网发展趋势还是大数据+人工智能.所以现在学习Python就很有必要.这里就不介绍Python语言的优劣了,想具体了解的小伙伴可以自行度娘吧. 好了,直接步入正题. 本博客主要记录自己接下来几个月的Python学习之路,能力有限,期间有什么表达不对的欢迎大家留言区批评指正! Python版本:Python3.5

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

1.菜鸟的linux学习之路------linux初体验

脚本编程语言通常是解释型的.这类程序的执行,是由解释器读入代码,并将其转换成内部的形式,在执行.请注意,解释器本身是一般的编译型程序. 常用的脚本编程语言有 :awk,Perl,Python,Ruby,Shell.这里的Ruby是日本人研发的. 注释: linux : 1.rm 删除指定的文件 例:rm /Users/apple/Desktop/QQDock.plist 2.假设你想知道现在的系统有多少人在登录,那么 who命令可以实现 3.|管道符号可以在两个程序之间建立管道:who的输出,成

Python 学习之路(三)

Python 学习之路(三) 以下所用的是Python 3.6 一.集合部分 集合是一个无序的,不重复的数据集合,主要用来去重,以及关系测试:交集,差集,并集等 1.1 关系操作 1.1.1 列表去重 可以给列表去重,例如: 1 set_demo = [1,2,3,4,5,3,2,1] # 列表 2 set_demo = set(set_demo) # 转换成集合,来去重 3 print(set_demo) 1.1.2 取交集 intersection()方法 可以获得两个集合的交集部分,例如:

Python学习之路—2018/6/14

Python学习之路-2018/6/14 1.浏览器与服务器 浏览器向服务器发送请求的过程为请求过程,服务器向浏览器响应的过程为响应过程. 2.简单的web应用程序 import socket sock = socket.socket() sock.bind(("100.113.14.43", 8080)) sock.listen(5) with open("index.html", "r") as f: # 先将样式写入html文件中,然后再读

Python学习之路—2018/6/29

Python学习之路-2018/6/29 1.跨表查询 跨表查询: 基于对象查询 基于双下划线查询 聚合和分组查询 F与Q查询 F查询 过滤器只能讲字段值与常量进行比较,如果需要用到与字段值进行比较则需要用到F查询,F查询还支持与常量之间的加减乘除的运算.数据: # 查询评论数大于阅读数的书籍 >>> Book.objects.filter(comment_count__gt=F("read_count")) <QuerySet [<Book: 斗破苍穹&

Python学习之路—2018/7/10

Python学习之路-2018/7/10 博客开发项目流程 ? 一般来说,一个项目的开发流程分为:项目需求.设计表结构.功能开发.测试功能.产品上线,本次学习以博客园为蓝本进行开发. 1.项目需求 博客的开发的需求主要有以下几点: 基于auth模块和Ajax实现登录验证 基于forms组件和Ajax实现注册功能 设计博客首页 设计个人站点页面 设计文章详情页面 实现文章点赞功能 实现文章的评论功能,包括对文章的评论以及对文章评论的评论 实现富文本编辑框 防止xss攻击(例如当用户的文章中含有JS