Работа с текстовыми файлами в Pytnon

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

Чтобы получить возможность работать с файлом в Python 3, для начала его необходимо создать. Следующий код демонстрирует получение переменной file ссылки на новый документ.

file = open("test.txt", "w")
file.close()

Если запустить эту программу, она создаст текстовый файл test.txt в папке, где хранится исходный код.

Режимы открытия файла

“r” открытие для чтения (по умолчанию)
“w” открытие для записи, а если его не существует по заданному пути, то создается новый
“x” открытие для записи, но только если его еще не существует, иначе будет выдано исключение
“a” открытие на дополнительную запись, чтобы информация добавлялась в конец документа
“b” открытие в двоичном режиме
“t” открытие в текстовом режиме (по умолчанию)
“+” открытие одновременно на чтение и запись

Пользуясь вторым аргументом метода open, можно комбинировать различные режимы работы с файлами, указывая, к примеру, “rb” для чтения записанных данных в двоичном режиме.

Еще один пример: отличие “r+” и “w+” заключается в том, что во втором случае создастся новый файл, если такого нет. В первом же случае возникнет исключение. При использовании “r+” и “w+” файл будет открыт и на чтение и на запись. Пример обработки исключения разберем, когда будем рассматривать чтение файла.

Запись

file = open("test.txt", "w")
file.write("первая запись")
file.close()

В Python 3 запись в файл осуществляется с помощью метода write. Метод вызываем у объекта, который ссылается на существующий файл. Важно помнить, что для этого следует предварительно открыть документ с помощью функции open и указать режим записи символом “w”

Если необходимо добавить новую информацию к записанным ранее данным, следует заново вызвать функцию open, указав ей в качестве режима работы символ “a”. Иначе, если использовать «w» — информация записанная раннее будет удалена.

file = open("test.txt", "a")
file.write("\nвторая запись") # \n - перенос строки
file.close()

Чтение

Для чтения информации из файла в Python 3, следует вызывать метод read через объект, который ссылается на существующий документ. Также необходимо не забывать указывать “r” в качестве второго параметра функции open при открытии текстового файла.

file = open("test.txt", "r")
print(file.read())
file.close()

with as

Чтобы немного автоматизировать обработку текстовых файлов, рекомендуется использовать связку операторов with as. Благодаря им пропадает необходимость в вызове метода close для документа, который необходимо закрыть, поскольку это происходит автоматически. 

with open('test.txt', 'r') as file:
    print(file.read())