Я новый программист, и мы работаем над проектом Graduate English, где мы пытаемся разобрать гигантский текстовый файл словаря (500 МБ). Файл настроен с html-подобными тегами. У меня есть 179 тегов автора, например. «[A>] Shakes. [/ A]» для Шекспира, и мне нужно найти каждое вхождение каждого тега, а затем написать этот тег и то, что следует в строке, пока я не доберусь до «[/ W]».
Моя проблема в том, что readlines () дает мне ошибку памяти (я полагаю, потому что файл очень большой), и я был в состоянии найти совпадения (но только один раз) и не смог заставить его смотреть мимо Первый матч Буду очень признателен за любую помощь
В текстовом файле нет новых строк, которые, по-моему, вызывают проблему. Эта проблема была решена. Я думал, что я включу код, который работал:
with open('/Users/Desktop/Poetrylist.txt','w') as output_file:
with open('/Users/Desktop/2e.txt','r') as open_file:
the_whole_file = open_file.read()
start_position = 0
while True:
start_position = the_whole_file.find('<A>', start_position)
if start_position < 0:
break
start_position += 3
end_position = the_whole_file.find('</W>', start_position)
output_file.write(the_whole_file[start_position:end_position])
output_file.write("\n")
start_position = end_position + 4