eval實現字串化前的功能實現,有效疊加相同程式碼
阿新 • • 發佈:2018-11-24
def show(con,col_l,symbol,condition): con_name, con_value = con.split(symbol) # con_name = 'age',con_value = 20 for line_lst in read_file(): num = name_value[con_name] # num = 2 if eval(condition): for col in col_l: # ['name','age'] print(line_lst[name_value[col]], end='') print() def select(sql): # sql = 'select name,age where age>20' col_l, con = format_sql(sql) # col_l = ['name', 'age'],con = age>20 if '>' in con: show(con,col_l,'>','int(con_value) < int(line_lst[num])') if '<' in con: show(con, col_l,'<', 'int(con_value) > int(line_lst[num])') if '=' in con: show(con, col_l, '=', 'con_value == line_lst[num]') if 'like' in con: show(con, col_l, 'like', 'con_value in line_lst[num]')