问题:如何获得对模块本身内部模块的引用?
如何从该模块中获取对模块的引用?另外,如何获得包含该模块的包装的参考?
回答 0
import sys
current_module = sys.modules[__name__]
回答 1
还有一种技术,它不会导入sys模块,并且可以说-取决于您的口味-更简单:
current_module = __import__(__name__)
请注意,没有导入。Python仅导入每个模块一次。
回答 2
如果在该模块中有一个类,则__module__
该类的属性是该类的模块名称。因此,您可以通过访问模块sys.modules[klass.__module__]
。这也适用于功能。
回答 3
回答 4
您可以从外部传递它:
mymod.init(mymod)
这并不理想,但适用于我当前的用例。