Python Community
13.1K subscribers
1.24K photos
26 videos
15 files
711 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Работаем с файловыми путями

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

В библиотеке есть два основных класса — PurePosixPath, для Unix-подобных систем и PureWindowsPath для ОС Windows.

Если вы не желаете писать под определённую операционную систему, вы можете воспользоваться PurePath.

Windows и Unix-подобные системы работают с файловыми система по-разному.

Например Windows не чувствителен к регистру, использует вместо / и имеет разные диски — библиотека это знает, и позаботится об этом за вас.

Учтите, что для копирования файлов вам потребуется другой модуль — shutil.

#миниурок #pathlib
⚡️ Переопределяем методы взаимодействия объектов

Знаете ли вы, что сложение, вычитание и так далее — это не заранее написанные функции, а просто методы класса?

Это значит, что их можно переопределить и задать своё поведение.

Отличным примеров является ранее упомянутый pathlib, в котором мы изменили действия деления.

На фотографии выше мы переопределяем __add__ и __sub__, которые отвечают за сложение и вычитание.

В одном посте невозможно описать все действия, поэтому, как обычно, оставляем вам ссылку на сайт документации ;)

| P.S:
Пост о dataclass был тут.

#миниурок #pathlib
⚡️Создаём файловые пути

Функционал os.path кому-то может показаться недостаточным и, чтобы не изобретать велосипед, стоит взглянуть на pathlib, добавленный с версии python 3.4.

Самый важный класс — Path. Он создаёт путь и выбирает подкласс (PosixPath, WindowsPath) на основе запущенной ОС. Подробнее можно почитать тут.

Работать с ним можно с помощью оператора "/", который добавляет второй аргумент в путь.

Ещё одной особенностью класса является совместимость с os, поскольку это PathLike объект.

P.S.
Если вы используете модуль glob, то можете его не импортировать, функционал хранится в функции pathlib.glob.

#миниурок #pathlib
⚡️ Работаем с путями

Зачем изобретать велосипед с os.path, если с Python3.4 существует pathlib? Этот модуль упрощает работу с путями и добавляет новые функции.

Например, мы можем писать пути, которые будут нормально работать на Windows и Linux. Об этом рассказывается тут.

А если вам пришлось редактировать старый код с os, то это не проблема, ведь все пути это PathLike объекты.

#миниурок #pathlib