101 игра на python. Полезные функции. read_text_file
Функция для чтения текстовых файлов предоставляет возможность чтения содержимого текстовых файлов, включая возможность чтения файлов из директорий, фильтрацию по расширению и гибкий формат возвращаемых данных. Она поддерживает чтение как отдельных файлов, так и всех файлов с определенными расширениями внутри директории (включая поддиректории).
Код
Аргументы
file_path (str | Path): Путь к файлу или директории, содержимое которой нужно прочитать. Может быть представлен строкой или объектом Path из модуля pathlib.
as_list (bool, optional): Флаг, определяющий формат возвращаемого значения. По умолчанию False, что означает, что содержимое будет возвращено в виде единой строки. Если установлено в True, то содержимое будет возвращено в виде списка строк.
extensions (list[str], optional): Список расширений файлов (например, [".txt", ".log"]), которые нужно читать, если указан путь к директории. Если None (по умолчанию), то будут читаться все файлы в директории.
exc_info (bool, optional): Флаг, определяющий, нужно ли включать подробную информацию об ошибке (трассировку стека) в лог, если во время чтения файла возникнет ошибка. По умолчанию True.
Возвращаемое значение
str: Содержимое файла (или содержимое всех файлов) в виде строки, если as_list равен False.
list[str]: Содержимое файла (или содержимое всех файлов) в виде списка строк, если as_list равен True.
None: В случае ошибки при чтении или если указан некорректный путь.
Код с примерами 👉 github
UPD:
Это упрощенный пример. На больших объемах данных он сожрет всю память. Позже я покажу асинхронный пример чтения / записи и с использованием пошагового генератора

Программирование на python
1K постов12K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• конструктивность комментариев
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
• нарушать правила Пикабу