Добавить в корзинуПозвонить
Найти в Дзене
SoftSAR

Python работа с файлами

В данной статье мы рассмотрим работу с файлами (чтение и запись) в Python. Мы изучим, как открывать и закрывать файл, читать и записывать данные из файла. В Python файлы подразделяются на два вида бинарные и текстовые. Бинарные фалы - это файлы содержащие набор нулей и единиц. В таких файлах могут хранится любые данные такие, как текст, изображение, видео и др. Текстовый файл — это последовательность символов, которые понимает человек, хранящаяся в долговременной памяти. При работе с файлами обычно решаются две задачи: чтение информации из файла и запись информации в файл. В Python обе задачи решаются просто. Прежде чем работать с файлом прочитать его или записать в него информацию файл необходимо открыть. Открытие файла происходит функцией open(). У функции open() есть обязательный аргумент - полный или относительный путь к открываемому файлу. Необязательным параметром функции open() является режим открытия файла. Ниже перечислены символьные значения, определяющие режим доступа к фа
Оглавление

В данной статье мы рассмотрим работу с файлами (чтение и запись) в Python. Мы изучим, как открывать и закрывать файл, читать и записывать данные из файла.

В Python файлы подразделяются на два вида бинарные и текстовые.

Бинарные фалы - это файлы содержащие набор нулей и единиц. В таких файлах могут хранится любые данные такие, как текст, изображение, видео и др.

Текстовый файл — это последовательность символов, которые понимает человек, хранящаяся в долговременной памяти.

При работе с файлами обычно решаются две задачи: чтение информации из файла и запись информации в файл. В Python обе задачи решаются просто. Прежде чем работать с файлом прочитать его или записать в него информацию файл необходимо открыть.

Открытие файла происходит функцией open(). У функции open() есть обязательный аргумент - полный или относительный путь к открываемому файлу. Необязательным параметром функции open() является режим открытия файла.

Ниже перечислены символьные значения, определяющие режим доступа к файлу.

Режимы могут быть объединены, то есть, к примеру, 'rb' - чтение в двоичном режиме, wt - доступ к текстовому файлу только для записи с предварительной очисткой файла. По умолчанию режим равен 'rt'.

И последний аргумент, encoding, необходим только в текстовом режиме чтения файла, аргумент задает кодировку файла.

Чтение данных из файла

Создадим текстовый файл с именем open_txt_file_read.txt в папке с нашим проектом. Запишем Python чтение текстовых файлов.

-2

Результат выполнения кода:

Python чтение текстовых файлов.

Код написанный выше читает весь файл целиком и записывает его в переменную read_text. Однако, иногда необходимо читать файл построчно. Для этого необходимо воспользоваться циклом for или while.

Создадим текстовый файл с именем open_txt_file_read_line.txt в папке с нашим проектом.

-3

Читаем файл циклом for:

Результат выполнения кода:

Строка 1: Python!
Строка 2: Пример построчного считывания файла.
Строка 3: Построчное считывание файла выполняется
Строка 4: циклом for или
Строка 5: while

Читаем файл циклом while:

Результат выполнения кода:

Строка 1: Python!
Строка 2: Пример построчного считывания файла.
Строка 3: Построчное считывание файла выполняется
Строка 4: циклом for или
Строка 5: while

Запись данных в файл

Теперь рассмотрим запись в файл. Попробуем записать в файл вот такой вот текст: Изучаем запись данных в файл на языке Python.

Результат выполнения кода:

-4

Как и ожидалось, введенный пользователем текст записан в файл. Для добавления данных в файл необходимо открывать файл в режиме 'a' добавления записей в конец файла.

Оператор with

В Python есть более удобный инструмент взаимодействия с файлами, чем те, которые описаны выше — конструкция with. Оператор with гарантирует закрытие файла автоматически. Так, если в процессе чтения или записи файла функцией open() произойдет ошибка, то файл не закроется никогда (файл останется открытым до перезапуска системы или закрытием файла из диспетчера задач), что вызовет ошибки в дальнейшей работе программы.

Оператор Python with всегда будет закрывать файл в конце, даже если программа завершилась с ошибкой даже если ошибка возникла в контексте или блоке.

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

Чтение файла инструкцией with

Читаем построчно файл используя оператором with и цикл while.

Запись файла инструкцией with

Теперь рассмотрим запись в файл, используя инструкцию with. Попробуем записать в файл вот такой вот текст: Изучаем запись данных в файл на языке Python, используя инструкцию with.

C уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am