Python: как получить ссылку на модуль внутри самого модуля?
Как я могу получить ссылку на модуль в данном модуле? Также, как я могу получить ссылку на пакет, содержащий этот модуль?
5 ответов
Если у вас есть класс в этом модуле, то __module__
свойства класса-это имя модуля класса. Таким образом, вы можете получить доступ к модулю через sys.modules[klass.__module__]
. Это также работает для функций.
Вы можете получить имя текущего модуля, используя __name__
ссылка на модуль можно найти в sys.modules
словарь.
см. Python документация
еще один метод, который не импортирует модуль sys и, возможно, зависит от вашего вкуса-проще:
current_module = __import__(__name__)
имейте в виду, что импорта нет. Python импортирует каждый модуль только один раз.
вы можете передать его снаружи:
mymod.init(mymod)
не идеально, но это работает для моего использования.