从功能中获取相应的模块

发布于 2021-01-29 17:39:44

我想像这样修改模块xyz及其功能:

def modify(fun):
    modulename = fun.__module__ # this is string. ok, but not enough

import xyz
modify(xzy.test)

我的问题是如何访问xzyinside的命名空间modify。有时

globals()[fun.__module__]

作品。但是如果定义modify与其余代码不在同一个文件中,则会出现问题。

关注者
0
被浏览
35
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您要从其名称获取模块对象吗?在sys.modules包含所有当前已加载模块的字典中查找它:

    import sys
    
    def modify(func):
        module = sys.modules[func.__module__]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看