← Вернуться к карте тем
Alterna · глава 39 · страница 39.3

Чтение и запись файлов

На ЕГЭ файлы предоставляются к отдельным заданиям. Программа должна открыть точное имя, прочитать формат и не смешивать данные с переводами строк.

На ЕГЭ файлы предоставляются к отдельным заданиям. Программа должна открыть точное имя, прочитать формат и не смешивать данные с переводами строк.

суть и практика11 классЕГЭ №24
01

Как это устроено

Файл — внешний поток данных. Программа должна явно знать имя, кодировку, формат строк и правило поведения для пустого или повреждённого входа.

with. Контекстный менеджер гарантирует закрытие файла даже при ошибке.

read. Читает весь текст; подходит для одной строки или умеренного объёма.

Построчно. for line in file обрабатывает поток без хранения всего файла.

Запись. Режим 'w' создаёт или очищает файл; 'a' дописывает в конец.

02

Один пример в исполнении

Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.

Указывай encoding='utf-8', потому что кодировка по умолчанию зависит от платформы. strip() убирает перевод строки, но также удаляет пробелы по краям — это подходит не для любого формата. Для больших данных предпочитай построчную обработку и храни только нужные агрегаты. FileNotFoundError означает, что имя файла или рабочая папка не совпали с условием.

Карта алгоритмаЧитай слева направо, затем запускай код.
  1. 1Начало
  2. 2Взять следующую строку
  3. 3Убрать перевод строки
  4. 4Строка непустая?
  5. 5Преобразовать и накопить
03

Запомнить

Синтаксис этой страницы
open(name, mode='r', encoding='utf-8')

Открывает файл; явная UTF-8 делает чтение переносимым.

with open(...) as file

Закрывает file автоматически после блока.

file.read()

Читает весь оставшийся текст одной строкой.

file.readline()

Читает одну строку, включая \n при наличии.

for line in file

Читает файл построчно.

file.write(text)

Записывает строку и возвращает число символов; символ \n добавляй явно.

strip

Удаляет края строки перед int или сравнением.

int

Преобразует непустую строку числа в int.

FileNotFoundError

Исключение, если файл не найден.

print

Выводит результат, а не записывает его обратно в файл.