Прежде всего, вы всегда должны использовать with open()
для открытия и чтения файла, поскольку файл закрывается автоматически. В целом он менее подвержен ошибкам и более удобочитаем.
Что касается вашей проблемы, вот короткий фрагмент, который sh вы должны переслать:
with open('foo.txt', 'r') as file:
text = file.read().replace('\n', ' ')
words = text.split(' ')
char_limited_text = ' '.join(words[:1674]
Приведенный выше код работает в три этапа :
- Он считывает весь текст файла в переменную
text
- Он разбивает текст на отдельные пробелы
- Объединение слов обратно вместе, но только взятие первых 1674 слов
Если производительность имеет значение, может быть лучшее решение: читать файл построчно и отслеживать, сколько слов уже прочитано.