Senor H Ответов: 1

Печать индекса вхождения строки из файла


Используя среду сценариев Python, я пытаюсь вывести строковый индекс для каждого вхождения строки из файла, код которого я написал, если он выглядит следующим образом:-
#!/usr/bin/env python
импорт заново

файл = открыть("file.txt", "Р")
регулярное выражение = re.compile(r'xy ')

для строки в файле:
преамбула = regex.findall(строка)
для Слова в преамбуле:
print(""+ str(word))

Выход, который я получаю, таков
ху
ху
.
.

Но я хочу индексировать no каждого вхождения паттерна xy как [10, 28, 76] вхождение и каждое новое вхождение строки для паттерна xy file.txt должно быть напечатано в новой строке.

Что я уже пробовал:

#!/usr/bin/env python
import re

file = open("file.txt", "r")
regex = re.compile(r'xy ') 

for line in file:
    preamble = regex.findall(line)
    for word in preamble:
         print(""+ str(word))

1 Ответов

Рейтинг:
2

Richard MacCutchan

Используйте индексатор вместо регулярного выражения. Вам нужно перебирать каждый символ строки текста в поисках подстрок. Для каждой находки вы можете распечатать позицию или сохранить ее в списке.


Senor H

Спасибо Ричарсу, но я новичок и ищу код, похожий на доступный по следующей ссылке.
https://www.geeksforgeeks.org/python-output-formatting/
Приведенная выше ссылка делает эту работу для строк. Я пытаюсь сделать то же самое чтение файла.

Richard MacCutchan

Извините, но я понятия не имею, что делает этот сайт, и я не планирую идти и узнавать. Что бы вы ни искали, вы должны четко сформулировать свой вопрос. Вы также можете проверить 7. ввод и вывод — документация Python 3.9.0[^] для получения дополнительной информации.