Теория:

Для обработки большого количества данных, полученных в ходе решения практических задач, удобно не вводить данные вручную, а считывать их из заранее подготовленных файлов. Как правило, в учебных задачах данные хранятся в текстовых файлах, т. е. в файлах с расширением \(.txt\).

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

\(f= open(‘27\)_\(primer.txt’)\), где \(27\)_\(primer.txt\) — имя файла, содержащего данные. Для функции open — это обязательный аргумент.

Имя файла, как ты помнишь из курса изучения организации файловой системы, может быто относительным или абсолютным. Конечно, удобно хранить считываемый файл в одной директории с программой, которая его обрабатывает, в таком случае достаточно указать только имя файла. Если же такая ситуация невозможна, то в качестве аргумента функции open нужно указать полное имя файла.

Например, так: C:\Users\Даниил\Desktop\27_primer.txt.

Полное_имя_файла.png
Рис. \(1\). Открытие файла
 
На скриншоте рабочего стола ты видишь расположение файла 27_primer.txt, его содержание, фрагмент программы, которая открывает файл по его полному имени и выводит первое из чисел, содержащихся в этом файле.

Поясним ещё некоторые важные моменты этой небольшой программы.

Перед указанием полного имени файла стоит символ «r» — он отключает экранирование, иначе компилятор учтёт символы «\» как служебные и укажет на синтаксическую ошибку их использования.

Если ты предполагаешь, что в файле могут находиться символы кириллицы (буквы русского написания), то в необязательный аргумент encoding нужно передать название кодировки. В нашем примере это кодировка \(utf\)-\(8\).

Метод readline: читает строку из файла. О нём речь будет ниже.

Часть аргументов функции open здесь не описана, так как значения их применены по умолчанию.

Опишем эти специальные символы, определяющие режим открытия файла.

таблица_в_открыть_закрыть.png
Рис. \(2\). Режимы открытия файлов
 
Открытый файл должен быть обязательно закрыт по завершении всех манипуляций с файлом для того, чтобы избежать потери информации.

Как правило, в начале работы с файлом открывают исходный файл и файл, в который будет записана изменённая информация.

\(f=open('input.txt','r')\)
\(c=open('output.txt','w')\)

Обрати внимание, что файлы \(f\) и \(c\) открыты с разными аргументами, один из них открыт на чтение, другой — на запись.

По окончании работы с файлами оба файла закрывают. Для этого используют метод closed или close().
Источники:
Рис. 1. Открытие файла. © ЯКласс.
Рис. 2. Режимы открытия файлов. © ЯКласс.