🐍 Укус питона 🐍
2.61K subscribers
975 photos
17 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Открытие и закрытие файла. Продолжение.

Второй передаваемый аргумент - mode устанавливает режим открытия файла в зависимости от того, что мы собираемся с ним делать. Существует 4 общих режима:

🐍 Укус питона // 💬 Чат // #теория #файлы
Что выдает следующий +оператор сложения ( )
Anonymous Quiz
39%
[10, 20, 30, 40] [10, 20, 30, 40]
61%
[10, 20] [10, 20, 30, 40]
Открытие и закрытие файла. Продолжение.

Например, открытие текстового файла на запись, первый пример:

Или открытие бинарного файла на чтение, второй пример:

После завершения работы с файлом его обязательно нужно закрыть методом close(). Данный метод освободит все связанные с файлом используемые ресурсы.

Например, откроем для записи текстовый файл "hello.txt", последний пример:

🐍 Укус питона // 💬 Чат // #теория #файлы
Модуль difflib, сравнение текста.

Модуль difflib содержит классы и функции для сравнения последовательностей. Модуль может быть использован, для сравнения текста и включает в себя классы и функции, которые создают отчеты в нескольких распространенных форматах, включая HTML. Для сравнения каталогов и файлов смотрите модуль filecmp.

В примерах будем использовать следующие два текста, смотрим пример:

🐍 Укус питона // 💬 Чат // #теория #модули #difflib
Что выведет этот код?
Anonymous Quiz
47%
True
9%
100
29%
False
15%
50
📌 Уже 27 марта в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив.

Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке.

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

🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика.
Открытие и закрытие файла. Продолжение.

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

В этом случае мы можем обрабатывать исключения:

В данном случае вся работа с файлом идет во вложенном блоке try. И если вдруг возникнет какое-либо исключение, то в любом случае в блоке finally файл будет закрыт.

🐍 Укус питона // 💬 Чат // #теория #файлы
Открытие и закрытие файла. Продолжение.

Однако есть и более удобная конструкция - конструкция with:

Эта конструкция определяет для открытого файла переменную myfile и выполняет набор инструкций. После их выполнения файл автоматически закрывается. Даже если при выполнении инструкций в блоке with возникнут какие-либо исключения, то файл все равно закрывается.

Так, перепишем предыдущий пример:

🐍 Укус питона // 💬 Чат // #теория #файлы
Выберите правильный способ получения значения ключа отметок.
Anonymous Quiz
9%
m = student.get(2)
75%
m = student.get('marks')
16%
m = student[2])
Текстовые файлы. Запись в текстовый файл.

Чтобы открыть текстовый файл на запись, необходимо применить режим w (перезапись), a(дозапись) или r+/w+ (чтение и запись) . Затем для записи применяется метод write(str), в который передается записываемая строка. Стоит отметить, что записывается именно строка, поэтому, если нужно записать числа, данные других типов, то их предварительно нужно конвертировать в строку.

Запишем некоторую информацию в файл "hello.txt":

Если мы откроем папку, в которой находится текущий скрипт Python, то увидем там файл "hello.txt". Этот файл можно открыть в любом текстовом редакторе и при желании изменить.

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Выберите правильный способ удаления ключевых знаков из словаря.
Anonymous Quiz
39%
del student["marks"]
42%
student.remove("marks")
20%
student.popitem("marks")
Запись в текстовый файл. Продолжение.

Теперь дозапишем в этот файл еще одну строку:

Дозапись выглядит как добавление строки к последнему символу в файле, поэтому, если необходимо сделать запись с новой строки, то можно использовать эскейп-последовательность "\n". В итоге файл hello.txt будет иметь следующее содержимое:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Выберите правильный способ доступа к значению 20 из следующего кортежа.
Anonymous Quiz
10%
aTuple[1:2][1]
4%
aTuple[1:2](1)
3%
aTuple[1:2][1]
82%
aTuple[1][1]
Запись в текстовый файл. Продолжение.

Для записи списка строк имеется метод writelines(). В качестве параметра он принимает список строк:

Стоит учитывать, что, если мы хотим, чтобы каждая строка из списка располагалась на отдельной строке в файле, то строка в списке должна заканчиваться на символ "\n".

Еще один способ записи в файл представляет стандартный метод print(), который применяется для вывода данных на консоль:

Для вывода данных в файл в метод print в качестве второго параметра передается название файла через параметр file. А первый параметр представляет записываемую в файл строку.

🐍 Укус питона // 💬 Чат // #теория #файлы #текст