Я нахожусь в процессе подготовки корпуса текстовых файлов, состоящего из 170 голландских романов. Я литературный ученый и относительно новичок в Python, а также для программирования в целом. То, что я пытаюсь сделать, это написать скрипт Python для удаления всего из каждого .txt-файла, который НЕ принадлежит фактическому содержанию романа (т. Е. Истории). Вещи, которые я хочу удалить: добавлены биографии автора, рекламные ролики и другие фрагменты информации, которые поставляются с преобразованием ePub в .txt.Использование Python для удаления paratext (или «шума») из txt-файлов
Моя идея - вручную решить для каждого .txt-файла, на какой строке начинается фактическое содержание романа и где оно заканчивается. Я использую следующий блок кода с целью удаления каждой информации в файле .txt, который не содержится между этими двумя номерами строк:
def removeparatext(inputFilename, outputFilename):
inputfile = open(inputFilename,'rt', encoding='utf-8')
outputfile = open(outputFilename, 'w', encoding='utf-8')
for line_number, line in enumerate(inputfile, 1):
if line_number >= 80 and line_number <= 2741:
outputfile.write(inputfile.readline())
inputfile.close()
outputfile.close()
removeparatext(inputFilename, outputFilename)
В номерах 80 и 2741 являются начальными и конечными номерами для фактическое содержание одного конкретного романа. Тем не менее, выходной файл выводит только файл .txt с удаленным текстом ПЕРЕД именем linenumber 80, он все еще содержит все строки AFTER номер 2741. Кажется, я понимаю, почему. Возможно, я неправильно использую функцию enumerate().
Другое дело, что я хотел бы избавиться от всех ненужных пробелов в .txt-файле. Но метод .strip(), похоже, не работает, когда я реализую его в этом блоке кода.
Может ли кто-нибудь дать мне предложение о том, как решить эту проблему? Спасибо заранее!
Большое вам спасибо! Использование itertools.islice отлично подходит для меня. Я уже знал об использовании инструкции для открытия файлов, но я не был уверен, как использовать ее при открытии двух файлов вместо одного. – roelmetgevoel