Как записать строки файла в массив, при достижении определенного слова?
я пишу бота Telegram. Его задача это выдавать определенные тексты, которые записаны в текстовой файл. Текстов много, поэтому я старался создать систему, которая по достижении ключевого слова, отделяет между собой эти тексты и каждый из них записывает в отдельный элемент массива.
Например:
% конец %
текст текст
%конец%
текст
где %конец% разделяет между собой два разных текста, а текст это то что надо записать в ячейку массива.
Для начала я написал код который ищет в тексте номера строк со словом % конец%, но вот дальше я вошел в ступор. Как мне выделить строки, которые лежат между двумя строками %конец%, и записать их в элемент массива? Я начал изучать питон недавно, пытался все сделать сам, но тут все же не понимаю что делать. Заранее благодарю вас за помощь.
Вот все что мне удалось написать:
import re
d=[] #массив со строками, содержащие %end%
f=[] #массив содержащий все строки, а в конце - все строки, но без строк %end%
amount = len(re.findall(r"[\n']+?", open('apis.txt', encoding=("utf-8")).read()))
with open('apis.txt', 'rt', encoding="utf-8") as file:
for inde, line in enumerate(file, 1):
f.append(inde)
print(f)
with open('apis.txt', 'rt', encoding="utf-8") as file:
for index, line in enumerate(file, 1):
if "%end%" in line:
d.append(index)
f.remove(index)
print(d)
print(f)
Ответы (1 шт):
txt = '''
где %конец% разделяет между собой два разных текста, а текст это то что надо записать в ячейку массива. %конец%
Для начала я написал код который ищет в тексте номера строк со словом %конец%, но вот дальше я вошел в ступор.
Как мне выделить строки, которые лежат между двумя строками %конец%, и записать их в элемент массива?
'''
f = txt.split('%конец%')
print(f)
['\nгде ',
' разделяет между собой два разных текста, а текст это то что надо записать в ячейку массива.', '\nДля начала я написал код который ищет в тексте номера строк со словом ',
', но вот дальше я вошел в ступор.\n Как мне выделить строки, которые лежат между двумя строками ',
', и записать их в элемент массива?\n']