У меня есть два текстовых файла, каждый из которых содержит более 150000 строк данных.Мне нужно сократить их до целого ряда строк.
Позвольте мне объяснить:
Строка, которая начинается с "BO_" , должна быть первой строкой, а последняя будет той, которая не начинается с "BO _" .Как сравнить набор символов, так как Python читает файл каждый байт за раз?
Есть ли встроенная функция для обрезки строк в файле.Я думал о том, чтобы получить каждый байт и последовательно проверить их с помощью B , O , _ и "" .Но это было бы беспокойно, я держу пари, что память исчерпает, прежде чем она сможет даже проверить файл, учитывая, что упомянутое происходит только в конце файла.
Я попробовал следующий код:
def character(f):
c = f.read(1)
while c:
yield c
c = f.read(1)
Этот код работает отлично, он возвращает каждый байт текста.Но, исходя из этого подхода, это будет сложно и отнимает много времени.Код был бы очень уродливым.