Python 3.14+inspectфункция
inspect.ispackage()
члены и модули
Проверяет, что объект — пакет: модуль с атрибутом __path__, из которого импортируют подмодули. Появилась в 3.14.
Синтаксис
inspect.ispackage(object) -> bool
Пакет — модуль, но не наоборот: ismodule(json) и ispackage(json) оба True, а у os второе False, хотя через os.path кажется, что это пакет. Подмодуль пакета, например json.decoder, — обычный модуль. Строку функция не принимает за пакет: нужен импортированный объект. До 3.14 то же проверяют выражением hasattr(mod, '__path__').
Примеры
import inspect, json, json.decoder, os
print(inspect.ispackage(json), inspect.ispackage(os)) # → True False
print(inspect.ispackage(json.decoder), inspect.ispackage('json')) # → False False
print(hasattr(json, '__path__')) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности