Сообщить об ошибке.

Функция extend_path() модуля pkgutil в Python

Расширить путь поиска для модулей пакета

Синтаксис:

import pkgutil

pkgutil.extend_path(path, name)

Параметры:

  • path - путь пакета,
  • name - имя пакета.

Возвращаемое значение:

  • возвращается расширенная копия path.

Описание:

Функция extend_path() модуля pkgutil расширяет путь поиска для модулей, которые составляют разные части одного логического пакета в виде нескольких каталогов.

Предполагаемое использование: поместить следующий код в файл пакета __init__.py:

from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

Функция pkgutil.extend_path() добавит к переменной __path__ все подкаталоги каталогов в sys.path имени пакета. Это полезно, если необходимо распределить разные части одного логического пакета в виде нескольких каталогов.

Функция также ищет файлы *.pkg, где * соответствует аргументу имени файла name. Эта функция похожа на файлы *.pth, за исключением того, что это не специальные строки, начинающиеся с import. Файл *.pkg является доверенным по номиналу: кроме проверки на наличие дубликатов, все записи, найденные в файле *.pkg, добавляются в путь независимо от того, существуют ли они в файловой системе. (Это особенность.)

Если входной путь не является списком, как в случае замороженных пакетов, то он возвращается без изменений. Входной путь не изменяется, возвращается расширенная копия. Элементы добавляются только к копии в конце.

Предполагается, что sys.path является последовательностью. Элементы sys.path, которые не являются строками, ссылающимися на существующие каталоги, игнорируются. Элементы Unicode в sys.path, которые вызывают ошибки при использовании в качестве имен файлов, могут привести к возникновению исключения этой функцией в соответствии с поведением os.path.isdir().