我試圖做的是這樣的命令行:如何獲得在Python
>>> import mymodule
>>> names = dir(mymodule)
我怎樣才能得到一個參考mymodule
定義的所有名稱從mymodule
本身?
事情是這樣的:
# mymodule.py
names = dir(__thismodule__)
我試圖做的是這樣的命令行:如何獲得在Python
>>> import mymodule
>>> names = dir(mymodule)
我怎樣才能得到一個參考mymodule
定義的所有名稱從mymodule
本身?
事情是這樣的:
# mymodule.py
names = dir(__thismodule__)
只需使用全局變量()
全局() - 返回字典 表示當前全局符號 表。這總是當前模塊的字典 (在 功能或方法中,這是定義它的模塊 ,而不是調用它的模塊 )。
如前所述,globals爲您提供了一個字典,而不是dir(),它提供了模塊中定義的名稱列表。我通常看到這樣做的方式是這樣的:
import sys
dir(sys.modules[__name__])
有什麼辦法可以訪問調用模塊的gloabals()而不是定義模塊嗎? – dimo414 2012-07-22 07:02:35
您可能會嘗試從追溯模塊(http://docs.python.org/library/traceback.html)獲取調用者的全局變量,但這是進入黑暗魔法領域。我不知道你在做什麼,但如果你需要的話,你可能想重新考慮你的設計。 – 2012-07-24 14:37:52