如何在Python中获取对当前模块属性的引用

我想要做的是在命令行中看起来像这样:

>>> import mymodule >>> names = dir(mymodule) 

我如何从mymodule本身中获取对mymodule定义的所有名称的引用?

像这样的东西:

 # mymodule.py names = dir(__thismodule__) 

只要使用globals()

globals() – 返回一个表示当前全局符号表的字典。 这总是当前模块的字典(在函数或方法内部,这是它被定义的模块,而不是它被调用的模块)。

http://docs.python.org/library/functions.html#globals

如前所述,全局variables给你一个字典,而不是dir(),它给你一个模块中定义的名字列表。 我通常看到这样做的方式是这样的:

 import sys dir(sys.modules[__name__]) 

另外检查内置的检查模块。 它可以非常方便。