获取当前的python模块对象(按名称或其他方式)

时间:2013-12-12 22:11:44

标签: python python-2.7

如果我想获得当前模块,例如要重装,我会这样做:

import sys
sys.modules[__name__]

有没有更好的方法(例如不涉及__name__)?在这种情况下更好的意味着更惯用,更便携,更强大,或更多...我们通常在软件中需要的任何其他东西。

我使用python 2,但是python 3的答案无疑对其他人有用。

1 个答案:

答案 0 :(得分:3)

sys.modules获取当前模块对象的方法不再是你使用的方法。

导入时由Python设置

__name__,基本上是这样做:

module_object = import_py_file(import_name)
module_object.__name__ = import_name
sys.modules[import_name] = module_object

所以__name__引用完全你想在这里使用。