python以案例讲解判断、循环、调用文件模块、输出带颜色的文字

回复 收藏
本帖最后由 TUX 于 2015-12-5 17:00 编辑

11111111111.png


[root@test12 python]# pwd
/root/python
[root@test12 python]# head -5 contact_list.txt
1        ZhaoWei                YY        13524651414
2        LinZhiLing        MT        13542554584        
3        ZhangJingChu        YY        15485456655
4        TongLei                YY        15421455565
5        ZhangLiangYing        GS        13544855446

【注】:复制到linux的时候、需要删除所有//以及后边的注释信心vim contact.py附件附上脚本、可供下载实验!
....................................................................................................................................................
#!/usr/bin/env python
#!Author:wwj
#!Date:2015-12-04
#!Description:1、输入用户名、无限循环直到输入正确为止;
                     2、输入密码、无限循环直到输入正确为止;
                     3、输入要查询的name、循环判断如果是空值、提示重新输入、否则循环读取contact_list.txt中的每一行进行模糊匹配、
                     4、输出所有匹配值、或者输出没有匹配值的提示、程序结束;
                                   

while True:     //无限循环输入用户名直到输入正确、进入下一循环输入密码;
        name = raw_input("Please enter your name >>> ") //交互式输入用户名、并赋值给name变量;
        if name == 'wwj':       //判断name是否等于wwj;
                p = 'nihao'     //给p赋值、p是密码;
                while True:     //无限循环输入密码直到输入正确、进入查找模块;
                        passwd = raw_input('Please enter <'+name+'> password : ')       //交互输入密码;
                        if passwd == p: //判断密码是否正确;
                                print "Welcome login to web!\n" //密码输入正确、欢迎提示;
                                    while Ture:    //循环判断name是否为空值 、否则重新输入                                           ma_name = raw_input('\033[32mPlease enter the matching name you want to find >
>> \033[0m')      //交互输入需要查询的名字'\033[32m.....\033[0m'为颜色语句
                                        len_name = len(ma_name)    //判断输入name是否为空值
                                        if len_name != 0:   //如果不是空值 继续
                                            contact_file = file('contact_list.txt') //打开txt文件;
                                            match_yes = 1   //查询匹配状态、0:有匹配 1:无匹配;
                                            while True:     //循环txt文件的每一行、直到空行退出;
                                                line = contact_file.readline()  //读取文件的第1行、依次循环2.3.4.....;
                                                if len(line) == 0:      //判断行的长度如果为0;
                                                    break   //退出当前循环体;
                                                if ma_name in line:     //查询name是否在当前行有匹配值;
                                                    print "Match line : \033[31m%s\033[0m"% line    //如果模糊查询
到匹配值、输出当前行;
                                                    match_yes = 0   //查询到有匹配值、赋值0;
                                                else:   //判断name没有匹配值;
                                                    pass    //略过、继续执行下一条语句;
                                           if match_yes == 1:      //如果循环结束、没有匹配值、输出提示;
                                               print "Sorry,No matching name"         
                                          break   //循环结束后、输出匹配信息或者没匹配提示、退出循环体;
                                else:    //如果输入name是空值、提示空值重新输入
                                    print "Your input is an empty value! Please re-enter!"
                        else:   //如果用户密码输入不正确、提示重新输入密码直到正确为止;
                                print "Wrong password! Please try agein!"
        else:   //如果name不等于wwj、提示重新输入用户名直到正确为止;
                print "Sorry,This user %s not found." %name
....................................................................................................................................................
实验效果:
1111111111111.png



2015-12-05 15:51 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: