列出Python模块中定义的变量

2024-09-29 01:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到Python模块中定义的所有变量的列表,不包括导入的变量。对于类或函数,可以使用inspect.getmembers完成,例如:

getmembers(module, lambda member: isclass(module) and member.__module__ == module.__name__)

但是,简单对象似乎没有__module__字段,因此我无法检查它们是否已导入或已直接在模块中定义

如果我限制用户使用from ... import语句,并且只使用不导入简单变量的__init__.py文件,它可以工作,因为无法导入它们,但这不是一个令人满意的解决方案

是否有方法列出Python模块中定义的变量(不包括导入的变量)


Tags: 模块and对象lambda函数用户namefrom