翻遍百度没找下。Google里直接查python get current module object
找到了答案:
import sys
sys.modules[__name__]
ps:官方文档里也是这么写的,所以没有更好的办法了:
https://www.python.org/dev/peps/pep-3130/
# __import__ lets you use a variable, but... it gets more
# complicated if the module is in a package.
__import__(__name__)
# So just go to sys modules... and hope that the module wasn't
# hidden/removed (perhaps for security), that __name__ wasn't
# changed, and definitely hope that no other module with the
# same name is now available.
class X(object):
pass
import sys
mod = sys.modules[__name__]
mod = sys.modules[X.__class__.__module__]