zoukankan      html  css  js  c++  java
  • 员工信息表

    dic = {'name': 1,'id':0,'age':2,'phone':3,'job':4}
    # 读取文件 —— 将文件中的内容整理到内存里
    def get_line(filename):
        '''
        读取文件中的每一行
        :param filename:文件名
        :return:生成器,文件中每一行的生成器
        '''
        with open(filename,encoding='utf-8') as f:
            for line in f:
                line = line.strip()
                line_lst = line.split(',')
                yield line_lst
    
    def condition_filter(condition):
        '''
        根据条件_筛选
        :param condition:用户输入的条件'age'>20
        :return:符合条件的行列表
        '''
        condition = condition.strip()
        if '>' in condition:
            col,val = condition.split('>')
            g = get_line('userinfo')
            for line_lst in g:
                if int(line_lst[dic[col]]) > int(val):
                    yield line_lst
    
    def views(view_lst,staff_g):     #view_lst = ['name','age']
        '''
        展示符合条件的员工信息
        :param view_lst:['name','age']
        :param staff_g:符合条件的员工信息生成器
        :return:None
        '''
        if '*' in view_lst:
            view_lst = dic.keys()
        for staff_info in staff_g:   #staff_info = [1,Alex,22,13651054608,IT]
            for i in  view_lst:
                print(staff_info[dic[i]],end=' ')
            print('')
    
    
    
    # 接收用户的信息 —— 分析信息
    # ret = input('>>> ')
    ret = 'select name,age where age>22'
    view,condition = ret.split('where')   #根据where切割用户输入得到'select name,age ',' age>22'
    view = view.replace('select','').strip() #select name,age '去掉select和空格
    view_lst = view.split(',')    #'name,age'切割成列表[name,age]
    print(view_lst,condition)
    g = condition_filter(condition) #调用筛选条件函数,找到符合用户输入条件的行(生成器)
    views(view_lst,g)  #展示符合条件的数据
    

      

  • 相关阅读:
    对称加密与非对称加密
    mysql 数据库备份
    Linux安装VM虚拟机
    Ubuntu安装桌面
    POM 总是提示找不到依赖
    Wine解决界面乱码
    There was an unexpected error (type=Not Found, status=404). /WEB-INF/views/login.jsp
    Linux打开chm文件
    vim 查找模式
    spring总结(02)注解
  • 原文地址:https://www.cnblogs.com/eternity-twinkle/p/10545322.html
Copyright © 2011-2022 走看看