2011-03-15 36 views
0

我有幾個包,其中包括一個名爲util模塊,這樣就很難說哪個util模塊被稱爲如果你看到這樣的事情:我該如何實現「從foo.bar import baz.qux」這樣的東西?

util.some_func() 

我想什麼做的是這樣的:

views.util.some_func() 

...但我找不出一個很好的方法來導入這個。當然,這並不工作:

from apture.main import views.util 

最好我能想出是在views/__init__.py添加from . import views,然後做到這一點:

from apture.main import views 
views.util.some_func() 

有沒有什麼更好的方法來做到這一點?我能想到的唯一選擇就是:

import apture.main.views.util 
from apture.main import views 

views.util.some_func() 

...但是這是一個有點難看。

+0

加載子模塊__init__'是做它的標準方式。我們正在談論Python,所以沒有比標準方式更好的方法。 – 2011-03-16 00:08:38

回答

4

將這工作給你:在`

from apture.main.view import util as view_util 
+0

我可能過於挑剔,但我並不喜歡用下面的方式替代下劃線。我想這只是我有一些想法,'view.util'是'view'包中的子模塊,而我必須查看文件的頂部來說明'view_util'是什麼。無論如何,聽起來好像我可能沒有任何符合我要求的選擇。 :-) – 2011-03-15 23:57:45

相關問題