Python:我如何获得模块内部模块的引用?
我如何从模块中获取对模块的引用? 另外,如何获得包含该模块的包的引用?
import sys current_module = sys.modules[__name__]
如果您在该模块中有一个类,那么__module__
属性就是该类的模块名称。 因此你可以通过sys.modules[klass.__module__]
来访问模块。 这也适用于function。
您可以使用__name__
获取当前模块的名称
模块引用可以在sys.modules
字典中find。
请参阅Python 文档
还有一种技术,不导入sys模块,可以说 – 取决于你的口味 – 更简单:
current_module = __import__(__name__)
请注意,没有import。 Python只导入一次模块。
你可以从外面传入
mymod.init(mymod)
不理想,但它适用于我目前的使用情况。