Файлы в Python – это информация, записанная и сохраненная в определенном формате. Такой документ будет иметь имя и храниться в долговременной памяти на устройстве. 

Python поддерживает несколько форматов:

  • бинарные;
  • текстовые.

Текстовыми files in Python называются «привычные» пользователю документы. The file такого типа содержит обычный текст. В нем размещаются символы, которые легко считываются человеком. Обычно такие документы могут быть прочитаны при помощи любого текстового редактора: MS Word, Notepad++, «Блокнот» и так далее.

Бинарными документами являются файлы, которые включают в себя наборы нулей и единиц. В такой форме может быть представлена совершенно разная информация – от аудио до текста.

Далее предстоит изучить базовые операции с the file: read и write. Работу с документами в Питоне можно представить как открытие документа, корректировка данных, сохранение и закрытие. Обо всем этом зайдет речь в статье.

Как открыть файл

The file read – «базовая» операция. Она позволяет открыть и прочитать документ на устройстве. Упомянутый язык разработки поддерживает встроенную функцию open. С ее помощью удастся создать на основе любого языка файл объект the Python.

The Python: основы работы с файлами

Здесь:

  • name – имя документа, который нужно открыть;
  • mode – режим открытия, который по умолчанию установлен на значении «только для чтения».
The Python: основы работы с файлами

Таблица, представленная выше, поможет лучше разобраться с параметрами open для the file в Питоне read. Файловый объект будет иметь несколько атрибутов. Они предоставляют доступ к информации об исходном документе.

The Python: основы работы с файлами

Далее open the file будет рассмотрен на наглядном примере. С его помощью пользователи смогут более быстро освоить основные приемы для работы с файлами в изучаемом языке.

Пример с open

Чтобы воспользоваться методом the open, потребуется сначала сформировать исходный документ. Пусть он будет текстовым – text.txt. В нем должен быть написан какой-нибудь текст. Исходный the file разместится в рабочей папке.

The Python: основы работы с файлами

Код, представленный выше – это use file and read. В переменных file и file_2 будут сохраняться ссылки на объекты с открытыми документами.

The Python: основы работы с файлами

А вот – пример просмотра содержимого и информацию о нем. Использовать код with open может каждый пользователь. Это один из способов отображения данных из документа в Питоне. Есть и другие способы вывода сведений на экран.

Закрытие документа

После того, как the file was read, он начинает потреблять определенные ресурсы устройства. Как только разработчик произведет необходимые изменения в документации, он должен закрыть файл. Для этого in the Python предусмотрен отдельный метод. Он называется close.

The Python: основы работы с файлами

По умолчанию система сама закрывает the file после завершения работы с ним. Close помогает гарантированно закрыть компонент и высвободить память.

Менеджер контекста

Для взаимодействия между files могут быть использованы дополнительные инструменты. Рассматриваемый язык программирования поддерживает менеджер контекста. Он реализован в виде конструкции with. Используется для взаимодействия с file, который ранее был использован в программе.

The Python: основы работы с файлами

Оператор with всегда закрывает file в конце работы. Это происходит даже тогда, когда программа завершилась некорректно. With выступает в качестве функции безопасности. Она полностью заменяет close.

Чтение и запись

File program read – операция, с которой рано или поздно столкнется каждый программист. В Питоне чтение несколько отличается от открытия (open). Далее будут изучены возможные методы реализации соответствующей операции. Дополнительно необходимо рассмотреть команду записи изменений в исходный файл.

Функция Read

Метод file.read будет считывать из файла не более size байтов или символов – в зависимости от режима, в котором открыть документ через open(). Если обнаружен end file до получения размера size, метод прочитает только доступные байты или символьные записи.

Если size (он не является обязательным для работы the file.read) не указан, функция будет пытаться прочитать как можно больше. Чаще – весь документ, если памяти на устройстве достаточно.

The Python: основы работы с файлами

Выше можно увидеть синтаксическую форму the method read. Здесь:

  • the file – это объект используемого файла;
  • size – целочисленный параметр (int), количество байтов.

Возвращаемым значением будет строка в текстовом режиме или байтовый объект в двоичной форме отображения. 

Иногда исходный документ слишком крупный для того, чтобы the file.read мог полноценно прочитать его. В данном случае рекомендуется пользоваться чтением «по частям» или «кусками».

The Python: основы работы с файлами

Код, представленный выше, подойдет для небольших files. Он позволяет прочитать весь документ от начала до конца. Рекомендуется пользоваться им или в отношении небольших объектов, или на устройствах с большим объемом оперативной памяти.

The Python: основы работы с файлами

А вот шаблон кода, позволяющий реализовать при помощи the file.read частичное чтение. Оно используется относительно крупных объектов или на устройствах с небольшой оперативной памятью.

Функция Readline

The file.read требует от пользователя наличия достаточных ресурсов для нормальной работы с документом. Если используется крупный исходный файл или клиенту не нужно выводить его полностью, можно задействовать еще один метод. Речь идет о функции readline.

The Python: основы работы с файлами

За счет данного метода доступ к информации предоставляется построчно.

Иные методы

The file.read и readline – не единственные способы, помогающие читать документы через Python. Данную операцию можно осуществлять при помощи различные приемов. Пример – через циклы:

The Python: основы работы с файлами

Соответствующий фрагмент использует «петлю» со счетчиком. Это – цикл for. С его помощью данные from the file удается прочитать частично.

Еще один вариант – это применение метода next:

The Python: основы работы с файлами

Для частичного чтения может использоваться еще один вид цикла:

The Python: основы работы с файлами

Представленный выше код использует while.

Запись

The read отвечает за чтение документа. Если нужно записать в него информацию, придется воспользоваться другим методом. В Python для этого используется функция write.

The Python: основы работы с файлами

Если документа, доступ к которому запрошен, нет на устройстве, он будет автоматически создан по указанному разработчиком пути. Образец использования write можно увидеть выше. В данном случае the file не только открывается, но и корректируется. После завершения работы в предложенном фрагменте происходит закрытие исходного используемого файла.

Переименование

С основными действиями с документами в Python уже удалось познакомиться. Еще одной операцией, которая может пригодиться разработчику, является переименование файлов. Оно помогает вносить изменения в имя the file.

The Python: основы работы с файлами

В the Python для изменения названия открытого документа применяется стандартная функция rename. Она входит в состав исходных библиотек языка Питон. Устанавливать дополнительные элементы для работы с соответствующей опцией нет никакой необходимости.

В качестве первого параметра указывается имя файла, подлежащего изменениям. Вторым аргументом служит новое «название». Пример применения соответствующей функции приведен выше.

Текущая позиция

С the read file в Питоне разобраться удалось. Также были рассмотрены ключевые функции для работы с текстовыми и бинарными документами. Существует еще одна команда, которая может пригодиться разработчику.

The Python: основы работы с файлами

Встроенный метод seek помогает узнать текущую позицию в документе. С его помощью удастся переместить курсор в то или иное положение исходного файла. При повторном вызове read будет возвращаться пустая строка.

Seek может использоваться разработчиком для перехода в самое начало the file. Для этого необходимо в качестве его «параметра» указать 0:

The Python: основы работы с файлами

Как только курсор будет переведен в начало файла при помощи seek, допускается новое считывание содержимого.

Интересует Python? Добро пожаловать на курс в Otus!