我正在開發一個Python應用程序;它的所有代碼都放在一個包裏面,當然在裏面運行。應用程序的Python包對於用戶來說是口譯員不感興趣的,它只是一個GUI應用程序。我應該使用「從包導入使用情況,設置」或「從。導入使用情況,設置」
的問題是,其風格是優選的,應用程序包內導入模塊時
from application import settings, utils
或
from . import settings, utils
也就是說,因爲它是(此處「應用」我可以指定的名稱)或者我可以用「。」來表示「當前包」。
這是一個免費的軟件包,所以有人想讓我的應用程序分叉並更改它的名字。在這種情況下,替代方案1是一種輕微的麻煩。儘管如此,我始終使用樣式1(儘管早期代碼在某些地方使用樣式2),因爲樣式1看起來好多了。
是否有我的風格(1)我錯過了任何論點?或者不喜歡風格2,這太愚蠢了嗎?
我對絕對/相對感到困惑。我的意思是,沒有兩種風格,有三種:import utils,來自。導入使用情況,以及從應用程序導入使用情況。我想到了這種情況「。」這裏實際上是一個絕對導入,與「import x」情況相反。因此,我在平等的位置上述1和2。確實,對於更深的應用(我的只有一個包和一個子包),有很多地方可以調用「。」 – u0b34a0f6ae 2009-08-23 10:39:38
該應用程序的早期問題是,因爲我有一個名爲「application.application」的模塊,cPickle將無法工作,但pickle會(不同的abs/rel導入處理)。我必須通過重命名模塊來解決問題,無論如何這是一個糟糕的名字。 – u0b34a0f6ae 2009-08-23 10:48:33