2012-11-25 35 views
2

我對Python中的import語句有些困惑。特別是,我如何從一個包中的模塊導入一個類。例如,如果我有一個名爲我的包的軟件包有兩個模塊(模塊1和模塊2),如何從模塊2中的模塊1導入特定的類?來自Python中的import語句

什麼我發現目前的是,我需要(在模塊二)執行下列操作...

from package import module1 
module1.class1() 

雖然這個作品,我寧願能夠訪問的Class1()直接來自模塊2,因爲它不太可讀。但是,下面的語法不工作...

from package import module1.class1 

而且,它不會讓我簡單地去...

from module1 import class1 

怎樣一個進口一類是在一個模塊中在包內,直接在該包內的單獨模塊內?

回答

7

你在正確的軌道上:

from package.module1 import class1 

如果像你說你是來自同一個包內導入,也可以做

from .module1 import class1 

.意思是「位置進行導入的模塊的包層次結構「。有關信息,請參閱the documentation