我正在動態生成類名,然後想通過其名稱導入該類來訪問靜態方法。按名稱動態導入靜態訪問類
這是「the_module.py」導入類:
class ToImport(object):
@classmethod
def initialize(cls, parameter):
print parameter
根據Blog post這是據我走過來:
theModule = __import__("the_module")
toImport = getattr(theModule, "ToImport")
toImport.initialize("parameter")
但博客例子似乎是不完整,因爲它給了我一個模塊對象,沒有我想要的類ToImport
。查看__import__()
documentation顯示了該函數有更多可選屬性。我成功了
theModule = __import__("the_module", globals(), locals(), ["ToImport"])
爲什麼我必須給fromlist
屬性?我無法導入所有模塊屬性?
哪個版本的py? – 2009-12-21 14:37:23
使用Python 2.6.2 – desolat 2009-12-21 15:39:38