Форум сайта python.su
Привет всем Форумчанам! Прошу сильно не пинаться, подскажите как реализовать такое:
- имеется файл с набором слов, длиной не более 5 символов, эти слова могут быть расположены по несколько в одной строке.
1) нужно считать файл-ключ, где будет помечено какое из слов содержит пароль ( что то в роли подсказки)
2) загрузить этот исследуемый файл и проверить имеющиеся в нем слова на наличие совпадений с файлом-ключом. Слова с найденным совпадением записать в новый файл.
Спасибо заранее!
Офлайн
Товарищи, я не прошу дать мне готовый код.
Подскажите пожалуйста, что конкретно почитать и изучить нужно)
Офлайн
hackme
Так нифига же непонятно, вы бы дали исходные файлы и пример того, что нужно получить
Офлайн
hackme
что конкретно почитать и изучить нужно)
Офлайн
Изложу стоящую задачу более подробно:
1) Имеется файл input.txt, содержащий строки, в которых есть хаотичные последовательности символов (прикрепил)
2) Имеется файл key.txt, содержащий числа 1 и 0 в столбик (прикрепил)
Необходимо считать оба файла, и записать в новый файл out.txt те строки, которые в соответствии с key.txt имеют индекс 1.
Как считать файлы - я разобрался. Но не пойму как провести соответствие строк из input.txt с со строками “1” из key.txt.
Разобрался как делается поиск ключевого символа в строке, а вот как выбрать строки в соответствии с индексами из файла-ключа - не пойму. Точнее, не пойму как правильно построить цикл.
Вот рабочая часть скрипта:
import re f = open('txt/input.txt', 'r') i = f.read() print (i) f = open('txt/key.txt', 'r') k = f.read() print (k)
f = open('txt/key.txt','r') line_num = 0 search_index = "1" for line in f.readlines(): line_num += 1 if line.find(search_index) >= 0: print (line_num)
Отредактировано hackme (Фев. 18, 2018 16:26:58)
Прикреплённый файлы: input.txt (165 байт)
Офлайн
Ключевой файл
Прикреплённый файлы: key.txt (28 байт)
Офлайн
ЕЯПП
>>> values = open('input.txt').readlines() >>> keys = open('key.txt').readlines() >>> for k,v in zip(keys,values): if k.startswith('1'): print(v) 2gw1t3,45dgbg,r678,9r,yh,juyj1bvg 2hty34806548,45986609,12234, 5534012 21233 vsdfdr332`13235579 343 8964bv
Офлайн
vic57Спасибо большое! не думал, что можно так сократить код))
Отредактировано hackme (Фев. 19, 2018 18:45:47)
Офлайн
изменил цикл, чтобы он вместо вывода полученных строк, записывал их в файл. Все работает.
в дальнейшем в планах (сначала изучить) реализовать на принципах этого скрипта простейшую нейронную сеть, чтобы она смогла в дальнейшем сама выбирать правильные строки!
values = open('txt/input.txt').readlines() keys = open('txt/key.txt').readlines() f = open('txt/output.txt','w') for k,v in zip(keys,values): if k.startswith('1'): f.write(v) f.close()
Офлайн
все верно, хотя сейчас кошерно с файлами работать через with
https://pythonworld.ru/osnovy/with-as-menedzhery-konteksta.html
Офлайн