Ребят что то питон меня без фигур,скобок не воспринимает или я его , мне надо построчно прогнать файл в цикле а в условии обрабатываю вхождение подстроки maska в строку file.read() и если верно то строка отображается в терминале или в файле. Но у меня почему то только один раз цикл прогоняется и скрипт завершается. Я уже и с пробелами эксперементировал ни работает. Выводятся только строки которые после else в print забиты. Если if и else убрать то весь файл выводится в терминал , только с кучей левой информацией, которую мне нужно убрать. Подскажите что делаю не так, был бы отладчик пошаговый разобрался бы сам. а без оного на форум. Code: #!/usr/bin/python3 #coding=utf-8 import sys #************************************** maska='Адрес, индекс' patchport='/home/ХхХ/файл'#путь к файлу с адресами coutstr=0#хранит количество строк file = open(patchport)#считываем файл с адресами for line in file: if maska in file.read(): print(file.read()) coutstr+=1#для отображения количества строк в файле с адресами else: coutstr+=1 print('маска не подходит',coutstr,line) print(coutstr,'ты близок к разгадке')
Не нужно пытаться писать на питоне в процедурном стиле. Вот рабочий код, открытый файл нужно закрывать(file.close()), либо использовать конструкцию "with:", она это делает автоматически. По стандарту перед каждым блоком должен быть отступ в 4 пробела. Советую почитать pep8 и изучить стандартную библиотеку. Code: pattern = 'шаблон' file = 'file.txt' with open(file, 'r') as f: print(f.read().count(pattern))