module.__path__

Оновлено: 28.04.2023

За визначенням, якщо модуль має атрибут __path__, це пакет.

Атрибут __path__ пакета використовується під час імпорту його підпакетів. У механізмі імпорту він функціонує майже так само, як sys.path, тобто надає список місць для пошуку модулів під час імпорту. Однак __path__ зазвичай набагато більш обмежений, ніж sys.path.

__path__ має бути повторюваним рядком, але він може бути порожнім. Ті самі правила, що використовуються для sys.path, також застосовуються до __path__ пакета, а sys.path_hooks (описані нижче) звертаються під час проходження __path__ пакета.

Файл __init__.py пакета може встановлювати або змінювати атрибут __path__ пакета, і це був типовий спосіб реалізації пакетів простору імен до PEP 420. Із застосуванням PEP 420 пакетам простору імен більше не потрібно надавати файли __init__.py, що містять лише __path__ код маніпуляції; механізм імпорту автоматично встановлює __path__ правильно для пакета простору імен.