我給出了一個模塊作爲對象,我需要從中導入一個子模塊。就像這樣:導入給定模塊對象的子模塊
import logging
x = logging
現在我想只用x
而不是名稱爲「記錄」導入logging.handlers
。 (這是因爲我正在做一些動態導入,不知道模塊的名稱。)
我該如何做?如果我做import x.handlers
它失敗。
我給出了一個模塊作爲對象,我需要從中導入一個子模塊。就像這樣:導入給定模塊對象的子模塊
import logging
x = logging
現在我想只用x
而不是名稱爲「記錄」導入logging.handlers
。 (這是因爲我正在做一些動態導入,不知道模塊的名稱。)
我該如何做?如果我做import x.handlers
它失敗。
嘗試:
__import__('%s.handlers' % x.__name__)
注意,這將會參考返回logging
,這你可能不會在意。但它會創建x.handlers
。
您可以使用內置的功能__import__
: http://docs.python.org/library/functions.html#import
我在想,爲什麼從模塊對象導入不起作用,它似乎應該是合理的。是否有一個特定的原因,你知道爲什麼它不? – 2013-02-25 11:42:30