如果我想获得当前模块,例如要重装,我会这样做:
import sys
sys.modules[__name__]
有没有更好的方法(例如不涉及__name__
)?在这种情况下更好的意味着更惯用,更便携,更强大,或更多...我们通常在软件中需要的任何其他东西。
我使用python 2,但是python 3的答案无疑对其他人有用。
答案 0 :(得分:3)
从sys.modules
获取当前模块对象的方法不再是你使用的方法。
__name__
,基本上是这样做:
module_object = import_py_file(import_name)
module_object.__name__ = import_name
sys.modules[import_name] = module_object
所以__name__
引用完全你想在这里使用。