2012-09-13 48 views
2

我想做一些包導入時間測試。對於這一點,我想定義包的列表:導入一個變量定義的包

packages = [ 'random', 'dateutils', ... ] 

for package in packages: 
    import package 

這當然不工作,因爲import嘗試導入包「套餐」。我如何告訴import導入由變量「包」指向的包?

+1

可能的重複[如何在運行時只知道包名時使用__import __()導入包?](http://stackoverflow.com/questions/1057843/how-can-i-import-a -package - 使用 - 導入 - 當 - 的 - 包名稱是僅知) –

回答

8
for package in packages: 
    package = __import__(package) 

請注意,如果要導入從封裝的模塊,如A.B

__import__('A.B')返回包A,但__import__('A.B', fromlist = [True])回報模塊B

1

閱讀手冊中對"__import__"方法的描述可能對您有所幫助。