gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 23:29:39 25 4
gpt4 key购买 nike

如果我想获取当前模块,例如要重新加载它,我会这样做:

import sys
sys.modules[__name__]

有没有更好的方法来做到这一点(例如不涉及 __name__ )?在这种情况下,更好意味着更惯用、更便携、更健壮或更多……我们通常希望在我们的软件中具有的任何其他东西。

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

最佳答案

没有更多的惯用方法可以从 sys.modules 获取当前模块对象比你用的。
__name__由 Python 在导入时设置,本质上是:

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

所以 __name__引用正是您要在此处使用的内容。

关于python - 获取当前的 python 模块对象(按名称或其他方式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com