По сути мы должны найти подстроку в строке и вывести строку.
Чтобы не дергать раскладку использую функцию Presence(string). На вход “xthysq”, на выходе “черный”.
DBFile=pwd+'/.script/db/DBFile' file_to = open(DBFile) what_to_look=raw_input(': '); what_to_look=unicode(what_to_look, 'utf-8').title().encode('utf-8') def Presence(string): try: primary_list=[] separator='' ls_dic = {'q':'й', 'w':'ц', "e":"у", "r":"к",'-':'-', "t":"е", "y":"н", "u":"г", "i":"ш", "o":"щ", "p":"з", "[":"х", "]":"ъ", "a":"ф", "s":"ы", "d":"в", "f":"а", "g":"п", "h":"р", "j":"о", "k":"л", "l":"д", ";":"ж", "'":"э", "z":"я", "x":"ч", "c":"с", "v":"м", "b":"и", "n":"т", "m":"ь", ",":"б", ".":"ю",' ':' ','Q':"Й", 'W':"Ц", 'E':"У", 'R':"К", 'T':"Е", 'Y':"Н", 'U':"Г", 'I':"Ш", 'O':"Щ", 'P':"З", '{':"Х", '}':"Ъ", 'A':"Ф", 'S':"Ы", 'D':"В", 'F':"А", 'G':"П", 'H':"Р", 'J':"О", 'K':"Л", 'L':"Д", ':':"Ж", "\"":"Э", 'Z':"Я", 'X':"Ч", 'C':"С", 'V':"М", 'B':"И", 'N':"Т", 'M':"Ь", '<':"Б", '>':"Ю"} for i in string: if i in ls_dic.keys(): primary_list.append(ls_dic.get(i)) sep_string=separator.join(primary_list) return sep_string except UnboundLocalError: return '1' for i in file_to.readlines(): if what_to_look in i: print i elif Presence(what_to_look) in i: print i
По идеи, интересуемся по спуску. Если есть “Степан” то вывести все строки с подстрокой “Степан”. Если нет то “Cntgfy” -> “Степан” и так же, вывести все строки с Степаном.
Но почему то так не выходит. По отдельности:
for i in For_file(): if what_to_look in i: print i
for i in For_file(): if Presence(what_to_look) in i: print i
Простой пример, вместо файла список
w=raw_input('1: ') q=raw_input('2: ') l=['qwe','asd','zxc','rty','poi'] for i in l: if w in i: print i elif q in i: print i
Пока курю литературу, но вроде как, все должно работать… Где откос?