И так в прошлой статье мы закончили разбираться с основами ООП в python . В этой перейдем к работе с текстовыми файлами(для работы с другими типами файлов необходимо подключать модули, впрочем об этом была статья , а найти документацию модуля и узнать как с ним работать не так сложно, если уже знаешь базу языка).
Как нам открыть файл? Для этого существует встроенная функция open() .
<имя переменной> = open(<имя файла>,< режим>)
Зачем имя переменной? Чтобы в дальнейшем через нее управлять файлом(менять информацию в нем, считывать и так далее).
Что еще за режим? Мы можем открыть файл в нескольких режимах:
- r - Только для чтения, и если файл не будет найден нам выдаст исключение FileNotFoundError(о том как обрабатывать исключения было тут .
- w - Файл открывается для записи. Если файл не существует, то создается, если такой файл уже есть, данные в нем стираются и файл создается заново.
- a - Файл открывается для дозаписи, если не существует, то создается, и если уже есть, то данные записываются в конец существующего файла.
- b - Для работы с бинарными файлами(изображения, видео, аудио, и тд...)
Также есть другой способ создать/открыть файл, в котором нам не придется обрабатывать исключения, в случае возникновения оных, файл просто будет закрыт:
with open(<имя файла>,< режим>) as <имя переменной>:
Эта конструкция определяет для открытого файла переменную указанную нами и выполняет набор инструкций переданный ей(как у def,for,if и тд... ). После их выполнения файл закроется сам, т.е. нам не нужно будет писать:
<имя переменной>.close()
И как уже сказано выше, в случае возникновения исключений файл просто закроется.
Но, как нам записать данные в файл или прочитать их?
Внутри статьи обозначим переменную файла - file. Чтобы прочитать данные с файла:
file.read()
Считать весь файл в одну строку.
file.readline()
Считать одну строку из файла.
file.readlines()
Считать все строки из файла в список.
А как записывать?
file.write(<данные для записи>)
Или
print(<данные>,file=<имя переменной с файлом>)
Теперь давайте напишем простейшую программу, которая создаст новый файл, мы туда запишем данные, а после она построчно выдаст нам его.
И так на этом все, вот такая короткая статья, далее у нас работа с временем, модули: os, random, math, locale, decimal.