Существование файла
Если мы попытаемся открыть файл, который не существует, то Python выбросит исключение FileNotFoundError. Для отлова исключения мы можем использовать конструкцию try...except. Однако можно уже до открытия файла проверить, существует ли он или нет с помощью метода os.path.exists(path). В этот метод передается путь, который необходимо проверить:
🐍 Укус питона // 💬 Чат // #теория #модули #OS
Если мы попытаемся открыть файл, который не существует, то Python выбросит исключение FileNotFoundError. Для отлова исключения мы можем использовать конструкцию try...except. Однако можно уже до открытия файла проверить, существует ли он или нет с помощью метода os.path.exists(path). В этот метод передается путь, который необходимо проверить:
🐍 Укус питона // 💬 Чат // #теория #модули #OS
Что выведет этот код?
Anonymous Quiz
27%
( \'abcd\', 786 , 2.23, \'john\', 70.2 )
9%
abcd
25%
(786, 2.23)
39%
Нет верного ответа
Запись и чтение архивных zip-файлов
Zip представляет наиболее популярный формат архивации и сжатия файлов. И язык Python имеет встроенный модуль для работы с ними - zipfile. С помощью этого модуля можно создавать, считывать, записывать zip-файлы, получать их содержимое и добавлять в них файлы. Также поддерживается шифрование, но не поддерживается дешифрование.
Для представления zip-файла в этом модуле определен класс ZipFile. Он имеет следующий конструктор:
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Zip представляет наиболее популярный формат архивации и сжатия файлов. И язык Python имеет встроенный модуль для работы с ними - zipfile. С помощью этого модуля можно создавать, считывать, записывать zip-файлы, получать их содержимое и добавлять в них файлы. Также поддерживается шифрование, но не поддерживается дешифрование.
Для представления zip-файла в этом модуле определен класс ZipFile. Он имеет следующий конструктор:
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Что выведет этот код?
Anonymous Quiz
17%
1
21%
3
26%
Garbage value
36%
Compile time error (Ошибка времени компиляции)
Запись и чтение архивных zip-файлов. Продолжение.
Параметры:
• file: путь к zip-файлу
• mode: режим открытия файла. Может принимать следующие значения:
- r: применяется для чтения существующего файла
- w: применяется для записи нового файла
- a: применяется для добавления в файл
• compression: тип сжатия файла при записи. Может принимать значения:
- ZIP_STORED: архивация без сжатия (значение по умолчанию)
- ZIP_DEFLATED: стандартный тип сжатия при архивации в zip
- ZIP_BZIP2: сжатие с помощью способа BZIP2
- ZIP_LZMA: сжатие с помощью способа LZMA
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Параметры:
• file: путь к zip-файлу
• mode: режим открытия файла. Может принимать следующие значения:
- r: применяется для чтения существующего файла
- w: применяется для записи нового файла
- a: применяется для добавления в файл
• compression: тип сжатия файла при записи. Может принимать значения:
- ZIP_STORED: архивация без сжатия (значение по умолчанию)
- ZIP_DEFLATED: стандартный тип сжатия при архивации в zip
- ZIP_BZIP2: сжатие с помощью способа BZIP2
- ZIP_LZMA: сжатие с помощью способа LZMA
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Что выведет этот код?
Anonymous Quiz
18%
{0: 1, 7: 0, 1: 1, 8: 0}
18%
{1: 1, 7: 2, 0: 1, 8: 1}
21%
{0: 0, 7: 0, 1: 1, 8: 1}
44%
KeyError
Создание и закрытие файла.
Для создания архивного файла в конструктор ZipFile передается режим "w" или "a":
После выполнения кода в текущей папке будет создаваться пустой архивный файл "metanit.zip".
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Для создания архивного файла в конструктор ZipFile передается режим "w" или "a":
После выполнения кода в текущей папке будет создаваться пустой архивный файл "metanit.zip".
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Создание и закрытие файла. Продолжение.
После окончания работы с архивом для его закрытия применяется метод close():
Но так как ZipFile также представляет менеджер контекста, то он поддерживает выражение with, которое определяет контекст и автоматически закрывает файл по завершению контекста:
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
После окончания работы с архивом для его закрытия применяется метод close():
Но так как ZipFile также представляет менеджер контекста, то он поддерживает выражение with, которое определяет контекст и автоматически закрывает файл по завершению контекста:
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Что выведет этот код?
Anonymous Quiz
18%
L*oo frph e| wkhq1
40%
L*oo#frph#e|#wkhq1
29%
l*oo@frph@e|$wkhq1
13%
O*oo#Frph#E|#wKhq1
Запись файлов в архив.
Для записи файлов в архив применяется файл write():
Первый параметр представляет файл, который записиывается в архив. Второй параметр - arcname устанавливает произвольное имя для файла внутри архива (по умолчанию это само имя файла). Третий параметр - compress_type представляет тип сжатия, а параметр compresslevel - уровень сжатия.
Например, запишем в архив "metanit.zip" файл "hello.txt" (который, как предполагается, находится в той же папке, где и текущий скрипт python):
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Для записи файлов в архив применяется файл write():
Первый параметр представляет файл, который записиывается в архив. Второй параметр - arcname устанавливает произвольное имя для файла внутри архива (по умолчанию это само имя файла). Третий параметр - compress_type представляет тип сжатия, а параметр compresslevel - уровень сжатия.
Например, запишем в архив "metanit.zip" файл "hello.txt" (который, как предполагается, находится в той же папке, где и текущий скрипт python):
🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 15-16 мая в 19:00 мск.
О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
🎁 Приятные бонусы: полезный гайд для начинающего Python-разработчика и гайд о сленге в IT всем участникам интенсива!
О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
🎁 Приятные бонусы: полезный гайд для начинающего Python-разработчика и гайд о сленге в IT всем участникам интенсива!