Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2018 14:17:14

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

Привет всем Форумчанам! Прошу сильно не пинаться, подскажите как реализовать такое:
- имеется файл с набором слов, длиной не более 5 символов, эти слова могут быть расположены по несколько в одной строке.
1) нужно считать файл-ключ, где будет помечено какое из слов содержит пароль ( что то в роли подсказки)
2) загрузить этот исследуемый файл и проверить имеющиеся в нем слова на наличие совпадений с файлом-ключом. Слова с найденным совпадением записать в новый файл.
Спасибо заранее!

Офлайн

#2 Фев. 12, 2018 08:45:29

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

Товарищи, я не прошу дать мне готовый код.
Подскажите пожалуйста, что конкретно почитать и изучить нужно)

Офлайн

#3 Фев. 12, 2018 09:13:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

hackme
Так нифига же непонятно, вы бы дали исходные файлы и пример того, что нужно получить



Офлайн

#4 Фев. 12, 2018 19:29:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

hackme
что конкретно почитать и изучить нужно)

Основы Питона, конкретно вам могут понадобиться open,read,split,==,write.



Офлайн

#5 Фев. 18, 2018 16:22:05

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

Изложу стоящую задачу более подробно:
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)

Этим циклом пытался считать те строки, которые содержат индекс 1, но он не работает, просто выводит “1” и все
 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)

Прикреплённый файлы:
attachment input.txt (165 байт)

Офлайн

#6 Фев. 18, 2018 16:22:42

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

Ключевой файл

Прикреплённый файлы:
attachment key.txt (28 байт)

Офлайн

#7 Фев. 18, 2018 16:53:35

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

поиск по ключевому файлу и выдача результата

ЕЯПП

 >>> 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

Офлайн

#8 Фев. 19, 2018 18:45:34

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

vic57
Спасибо большое! не думал, что можно так сократить код))
Изучил функцию zip - полезно и удобно!

Отредактировано hackme (Фев. 19, 2018 18:45:47)

Офлайн

#9 Фев. 19, 2018 19:58:51

hackme
Зарегистрирован: 2018-02-11
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск по ключевому файлу и выдача результата

изменил цикл, чтобы он вместо вывода полученных строк, записывал их в файл. Все работает.
в дальнейшем в планах (сначала изучить) реализовать на принципах этого скрипта простейшую нейронную сеть, чтобы она смогла в дальнейшем сама выбирать правильные строки!

 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()

Офлайн

#10 Фев. 19, 2018 20:18:36

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

поиск по ключевому файлу и выдача результата

все верно, хотя сейчас кошерно с файлами работать через with
https://pythonworld.ru/osnovy/with-as-menedzhery-konteksta.html

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version