📌 Уже 27 марта в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив.
Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке.
Приходите, чтобы пообщаться и поучиться у опытного разработчика, узнать всю правду и перспективы Python и получить полезные подарки для комфортного старта в разработку.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика.
Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке.
Приходите, чтобы пообщаться и поучиться у опытного разработчика, узнать всю правду и перспективы Python и получить полезные подарки для комфортного старта в разработку.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика.
Открытие и закрытие файла. Продолжение.
При открытии файла или в процессе работы с ним мы можем столкнуться с различными исключениями, например, к нему нет доступа и т.д. В этом случае программа выпадет в ошибку, а ее выполнение не дойдет до вызова метода close, и соответственно файл не будет закрыт.
В этом случае мы можем обрабатывать исключения:
В данном случае вся работа с файлом идет во вложенном блоке try. И если вдруг возникнет какое-либо исключение, то в любом случае в блоке finally файл будет закрыт.
🐍 Укус питона // 💬 Чат // #теория #файлы
При открытии файла или в процессе работы с ним мы можем столкнуться с различными исключениями, например, к нему нет доступа и т.д. В этом случае программа выпадет в ошибку, а ее выполнение не дойдет до вызова метода close, и соответственно файл не будет закрыт.
В этом случае мы можем обрабатывать исключения:
В данном случае вся работа с файлом идет во вложенном блоке try. И если вдруг возникнет какое-либо исключение, то в любом случае в блоке finally файл будет закрыт.
🐍 Укус питона // 💬 Чат // #теория #файлы
Открытие и закрытие файла. Продолжение.
Однако есть и более удобная конструкция - конструкция with:
Эта конструкция определяет для открытого файла переменную myfile и выполняет набор инструкций. После их выполнения файл автоматически закрывается. Даже если при выполнении инструкций в блоке with возникнут какие-либо исключения, то файл все равно закрывается.
Так, перепишем предыдущий пример:
🐍 Укус питона // 💬 Чат // #теория #файлы
Однако есть и более удобная конструкция - конструкция with:
Эта конструкция определяет для открытого файла переменную myfile и выполняет набор инструкций. После их выполнения файл автоматически закрывается. Даже если при выполнении инструкций в блоке with возникнут какие-либо исключения, то файл все равно закрывается.
Так, перепишем предыдущий пример:
🐍 Укус питона // 💬 Чат // #теория #файлы
Выберите правильный способ получения значения ключа отметок.
Anonymous Quiz
10%
m = student.get(2)
74%
m = student.get('marks')
16%
m = student[2])
Текстовые файлы. Запись в текстовый файл.
Чтобы открыть текстовый файл на запись, необходимо применить режим w (перезапись), a(дозапись) или r+/w+ (чтение и запись) . Затем для записи применяется метод write(str), в который передается записываемая строка. Стоит отметить, что записывается именно строка, поэтому, если нужно записать числа, данные других типов, то их предварительно нужно конвертировать в строку.
Запишем некоторую информацию в файл "hello.txt":
Если мы откроем папку, в которой находится текущий скрипт Python, то увидем там файл "hello.txt". Этот файл можно открыть в любом текстовом редакторе и при желании изменить.
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Чтобы открыть текстовый файл на запись, необходимо применить режим w (перезапись), a(дозапись) или r+/w+ (чтение и запись) . Затем для записи применяется метод write(str), в который передается записываемая строка. Стоит отметить, что записывается именно строка, поэтому, если нужно записать числа, данные других типов, то их предварительно нужно конвертировать в строку.
Запишем некоторую информацию в файл "hello.txt":
Если мы откроем папку, в которой находится текущий скрипт Python, то увидем там файл "hello.txt". Этот файл можно открыть в любом текстовом редакторе и при желании изменить.
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Выберите правильный способ удаления ключевых знаков из словаря.
Anonymous Quiz
39%
del student["marks"]
41%
student.remove("marks")
20%
student.popitem("marks")
Запись в текстовый файл. Продолжение.
Теперь дозапишем в этот файл еще одну строку:
Дозапись выглядит как добавление строки к последнему символу в файле, поэтому, если необходимо сделать запись с новой строки, то можно использовать эскейп-последовательность "\n". В итоге файл hello.txt будет иметь следующее содержимое:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Теперь дозапишем в этот файл еще одну строку:
Дозапись выглядит как добавление строки к последнему символу в файле, поэтому, если необходимо сделать запись с новой строки, то можно использовать эскейп-последовательность "\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. А первый параметр представляет записываемую в файл строку.
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Для записи списка строк имеется метод writelines(). В качестве параметра он принимает список строк:
Стоит учитывать, что, если мы хотим, чтобы каждая строка из списка располагалась на отдельной строке в файле, то строка в списке должна заканчиваться на символ "\n".
Еще один способ записи в файл представляет стандартный метод print(), который применяется для вывода данных на консоль:
Для вывода данных в файл в метод print в качестве второго параметра передается название файла через параметр file. А первый параметр представляет записываемую в файл строку.
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Каков результат следующей операции над кортежем?
Anonymous Quiz
28%
TypeError
60%
(100, 100)
12%
(200)
Чтение файла.
Для чтения файла он открывается с режимом r (Read), и затем мы можем считать его содержимое различными методами:
• readline(): считывает одну строку из файла
• read(): считывает все содержимое файла в одну строку
• readlines(): считывает все строки файла в список
Например, считаем выше записанный файл построчно:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Для чтения файла он открывается с режимом r (Read), и затем мы можем считать его содержимое различными методами:
• readline(): считывает одну строку из файла
• read(): считывает все содержимое файла в одну строку
• readlines(): считывает все строки файла в список
Например, считаем выше записанный файл построчно:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Чтение файла. Продолжение.
Несмотря на то, что мы явно не применяем метод readline() для чтения каждой строки, но в при переборе файла этот метод автоматически вызывается для получения каждой новой строки. Поэтому в цикле вручную нет смысла вызывать метод readline. Консольный вывод:
Однако поскольку функция print неявно добавляет к каждой строке перевод строки "\n", а строки в записанном файлетакже разделяются символом перевода строки "\n", то получается, что каждая строка оканчивается двойным "\n". и чтобы исключить излишнего переноса на другую строку в функцию print можно передать значение end="".
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Несмотря на то, что мы явно не применяем метод readline() для чтения каждой строки, но в при переборе файла этот метод автоматически вызывается для получения каждой новой строки. Поэтому в цикле вручную нет смысла вызывать метод readline. Консольный вывод:
Однако поскольку функция print неявно добавляет к каждой строке перевод строки "\n", а строки в записанном файлетакже разделяются символом перевода строки "\n", то получается, что каждая строка оканчивается двойным "\n". и чтобы исключить излишнего переноса на другую строку в функцию print можно передать значение end="".
🐍 Укус питона // 💬 Чат // #теория #файлы #текст