Найти тему
postHack

Основы Python #11. Работа с текстовыми файлами.

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

Как нам открыть файл? Для этого существует встроенная функция open() .

<имя переменной> = open(<имя файла>,< режим>)

Зачем имя переменной? Чтобы в дальнейшем через нее управлять файлом(менять информацию в нем, считывать и так далее).

Что еще за режим? Мы можем открыть файл в нескольких режимах:

  1. r - Только для чтения, и если файл не будет найден нам выдаст исключение FileNotFoundError(о том как обрабатывать исключения было тут .
  2. w - Файл открывается для записи. Если файл не существует, то создается, если такой файл уже есть, данные в нем стираются и файл создается заново.
  3. a - Файл открывается для дозаписи, если не существует, то создается, и если уже есть, то данные записываются в конец существующего файла.
  4. b - Для работы с бинарными файлами(изображения, видео, аудио, и тд...)

Также есть другой способ создать/открыть файл, в котором нам не придется обрабатывать исключения, в случае возникновения оных, файл просто будет закрыт:

with open(<имя файла>,< режим>) as <имя переменной>:

Эта конструкция определяет для открытого файла переменную указанную нами и выполняет набор инструкций переданный ей(как у def,for,if и тд... ). После их выполнения файл закроется сам, т.е. нам не нужно будет писать:

<имя переменной>.close()

И как уже сказано выше, в случае возникновения исключений файл просто закроется.

Но, как нам записать данные в файл или прочитать их?

Внутри статьи обозначим переменную файла - file. Чтобы прочитать данные с файла:

file.read()

Считать весь файл в одну строку.

file.readline()

Считать одну строку из файла.

file.readlines()

Считать все строки из файла в список.

А как записывать?

file.write(<данные для записи>)

Или

print(<данные>,file=<имя переменной с файлом>)

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

Программа.
Программа.
Результат выполнения в консоли.
Результат выполнения в консоли.
Результат выполнения в файле.
Результат выполнения в файле.

И так на этом все, вот такая короткая статья, далее у нас работа с временем, модули: os, random, math, locale, decimal.

@postHack

Дзен