⚡️ Работаем с файловыми путями
Модуль pathlib, который установлен в Python по умолчанию, позволяет легко взаимодействовать с путями к файлам.
В библиотеке есть два основных класса — PurePosixPath, для Unix-подобных систем и PureWindowsPath для ОС Windows.
Если вы не желаете писать под определённую операционную систему, вы можете воспользоваться PurePath.
Windows и Unix-подобные системы работают с файловыми система по-разному.
Например Windows не чувствителен к регистру, использует вместо / и имеет разные диски — библиотека это знает, и позаботится об этом за вас.
Учтите, что для копирования файлов вам потребуется другой модуль — shutil.
#миниурок #pathlib
Модуль pathlib, который установлен в Python по умолчанию, позволяет легко взаимодействовать с путями к файлам.
В библиотеке есть два основных класса — PurePosixPath, для Unix-подобных систем и PureWindowsPath для ОС Windows.
Если вы не желаете писать под определённую операционную систему, вы можете воспользоваться PurePath.
Windows и Unix-подобные системы работают с файловыми система по-разному.
Например Windows не чувствителен к регистру, использует вместо / и имеет разные диски — библиотека это знает, и позаботится об этом за вас.
Учтите, что для копирования файлов вам потребуется другой модуль — shutil.
#миниурок #pathlib
⚡️ Переопределяем методы взаимодействия объектов
Знаете ли вы, что сложение, вычитание и так далее — это не заранее написанные функции, а просто методы класса?
Это значит, что их можно переопределить и задать своё поведение.
Отличным примеров является ранее упомянутый pathlib, в котором мы изменили действия деления.
На фотографии выше мы переопределяем __add__
В одном посте невозможно описать все действия, поэтому, как обычно, оставляем вам ссылку на сайт документации ;)
| P.S: Пост о dataclass был тут.
#миниурок #pathlib
Знаете ли вы, что сложение, вычитание и так далее — это не заранее написанные функции, а просто методы класса?
Это значит, что их можно переопределить и задать своё поведение.
Отличным примеров является ранее упомянутый pathlib, в котором мы изменили действия деления.
На фотографии выше мы переопределяем __add__
и
__sub__, которые отвечают за сложение и вычитание.В одном посте невозможно описать все действия, поэтому, как обычно, оставляем вам ссылку на сайт документации ;)
| P.S: Пост о dataclass был тут.
#миниурок #pathlib
⚡️Создаём файловые пути
Функционал os.path кому-то может показаться недостаточным и, чтобы не изобретать велосипед, стоит взглянуть на pathlib, добавленный с версии python 3.4.
Самый важный класс — Path. Он создаёт путь и выбирает подкласс (PosixPath, WindowsPath) на основе запущенной ОС. Подробнее можно почитать тут.
Работать с ним можно с помощью оператора "/", который добавляет второй аргумент в путь.
Ещё одной особенностью класса является совместимость с os, поскольку это PathLike объект.
P.S. Если вы используете модуль glob, то можете его не импортировать, функционал хранится в функции
#миниурок #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
Зачем изобретать велосипед с os.path, если с Python3.4 существует pathlib? Этот модуль упрощает работу с путями и добавляет новые функции.
Например, мы можем писать пути, которые будут нормально работать на Windows и Linux. Об этом рассказывается тут.
А если вам пришлось редактировать старый код с os, то это не проблема, ведь все пути это PathLike объекты.
#миниурок #pathlib