Python библиотеки на грани вымирания. 3 Библиотеки о которых можно забыть.

Python библиотеки на грани вымирания. 3 Библиотеки о которых можно забыть.

Python и 1000 программ

В этой статье мы разберем библиотеки от Python, с которыми следует попрощаться всем разработчикам.

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


Pathlib

Модуль Pathlib — Пожалуй одна из крупшейних недавних дополнений к стандартной библиотеки языка. Этот модуль смог стать частью Python, начиная с версии 3.4. Правда некоторые разработчики все еще используют модуль os для работы с файловой системой.


Но модуль pathlib, будет по лучше старого os.path. Так, модуль os использует обычные строки, когда представляет пути в файловой системе, а pathlib использует объектно-ориентировочный стиль. Благодаря этому повышается читатебльность кода и удобство его написания:

Факт того, что пути рассматриваются как объекты, дает возможность однократное создание объекта и последующее обращение к его атрибутам или выполнение операций с ними:

Одно из любимых возможностей pathlib, это допустимость применения оператора "/" для соединения путей:

Этот метод упрощает работу с путями. Учитывая это - не забывайте, что модуль pathlib - лишь замена для os.path, но не для всего модуля os. Но в pathlib также включен и функционал из модуля glob. Поэтому если вы привыкли работать в связке с os.path и glob.glob. перейдя на pathlib, вы можете забыть о них.


В pathlib также имеются еще и методы, привычные для тех, кто работал исключительно с os.path. Пример:

Secrets

Далее что можно отнести на покой - это os.urandom. Вместо нее лучше пользоваться модулем secrets, который появился у нас с версии языка 3.6:

Вообще, здесь можно без проблем использовать модуль os.urandom. Но причина, по которой лучше использовать secrets, это безопасность. Сам модуль random не может использоваться для целей, связанных с безопасностью. У нас остается два выбора, secrets, либо os.urandom. Но предпочтения я бы отдал первому, поскольку модуль новее, также есть функции для удобной работы с шестнадцатеричными токенами, временными URL-адресами, содержающими маркер безопасности.


Zoneinfo

Раньше для преобразования значений даты и времени, связанных с часовыми поясами, использовали модуль pytz. Но с версии 3.9 у нас появился новый модуль, под названием zoneinfo.

Модуль datetime делегирует все манипуляции с часовыми поясами абстрактному базовому классу datetime.tzinfo. Этот класс нуждается в конкретной реализации. До выхода этой либы, реализацию скорее всего брали из pytz. Теперь можно использовать модуль zoneinfo, заместо pytz.

К сожалению у zoneinfo есть свой нюанс: Модуль считает, что в системе имеются сведения о часовых поясах. В UNIX-подобных системах это действительно так. Но если у вас в системе не предусмотренны эти данные - тогда вам нужен пакет tzdata. Это библиотека, поддержкой которой занимаются основные разработчики CPython. В ней содержаться база часовых поясов IANA.


Благодарим автора статьи - Martin Heinz за материал.

Report Page