Как известно python достаточно универсальная штука, и он поддерживает довольно большое количество типов файлов. Что бы не запутаться во всех типах файлов, мы можем немного сузить круг, и разделить их на два типа. Текстовые файлы, и бинарные файлы. В текстовых файлах вся информация сохранятся в том или инои текстовой читабельной форме. Бинарные файлы, это картинки, видео, музыка и.т.д.
Итак, нам нужно четко для себя уяснить, что при работе с файлами, нам важно соблюдать определенный порядок, открыть/прочитать,записать/закрыть.
- Файл можно открыть с помощью метода open().
- Чтение файла осуществляется с помощью метода read(), запись с помощью метода write().
- Закрывается файл методом close().
Открытие и закрытие файла
Мы с вами определились, что для начала работы с файлами, его надо сначала открыть. Открывается с помощью метода open().
open(file, mode)
В метод open(), мы передаем два параметра, путь к нужному нам файлу, и режим открытия. Разберем оба параметра более подробно.
Путь к файлу может быть двух вариантов, абсолютным и относительным. В случае абсолютного задания пути, путь начинается с буквы диска, на котром расположен нужный нам файл.
C://dir/file.txt
В случае относительного варианта задания пути, вы можете указать dir/file.txt, но стоит учесть, что в данном случае поиск этого файла будет идти относительно расположения самого скрипта.
Вторым аргументом мы передаем mode, режим открытия файла. В python есть 4 режима открытия файлов.
- r (Read) — в данном режиме файл открывается для чтения, в случае если файл не будет обнаружен, то появится исключительная ошибка FileNotFoundError
- w (Write) — Режим для записи. В случае если файл отсутствует, то он будет создан. Если файл уже есть, он будет пересоздан, и все данные в этом файле потеряются.
- a (Append) — режим дозаписи в файл. В случае отсутствия файла, он будет создан, в случае если он уже существует, будет произведена дозапись в конец файла.
- b (Binary) — Данный режим предназначен для бинарных файлов, и применяется вместе с другими режимами.
После завершения работы с файлом, не забывайте закрывать свой файл, используя метод close(). Закрытие файла освободит ресурсы, занимаемые файлом.
file = open('test.txt','w')
file.close
При открытии файла, или при работе с уже открытым файлом, мы можем столкнуться с исключениями, по самым разным причинам (например нет доступа), в таком случае файл останется открытым, что бы избежать этого, не забывайте про обработку исключений.
try:
file= open("test.txt", "w")
try:
file.write("hello world")
except Exception as e:
print(e)
finally:
file.close()
except Exception as ex:
print(ex)
В приведенном выше примере, мы воспользовались блоком исключения ошибок try…except. Но, это не единственный метод обработки.
with open("test.txt", "w") as file:
file.write("hello world")
В данном случае, после выполнения всех инструкций, файл будет закрыть, вне зависимости от того, есть какие то исключения, или нет.