我重構代碼組織只是有點給你的頂層目錄更具描述性的名稱。今天,我選擇happy_bananas
。所以我們可以說你組織你這樣的文件:
happy_bananas
start.py
DisplayTools.py
CollectionTools.py
那麼所有你需要做的就是添加一個空__init__.py
文件,你可以使用它就像任何其他的包裝,如:
happy_bananas
__init__.py
start.py
DisplayTools.py
CollectionTools.py
而且現在,如果你可以這樣做:
from happy_bananas import DisplayTools
就像你面前。
現在,要將它加入到您的系統中,您需要打包並使用安裝腳本。您可以使用distutils
或setuptools
來做到這一點,但也許最簡單的現有描述是在Zed Shaw的Learn Python The Hard Way Exercise 46中。你真的可以複製/這些文件粘貼與那裏描述並以目錄結構像這樣結束:
happy_bananas
setup.py
tests
test_happy_bananas.py
happy_bananas
__init__.py
start.py
DisplayTools.py
.
.
然後,當你有你的安裝腳本寫的,你可以進入你的文件夾,運行python setup.py install
(或python setup.py develop
)並且能夠在任何文件中使用import happy_bananas
。
另一方面,Python中的命名約定是爲文件名和函數名使用snakecase。因此,而不是DisplayTools.py
,最好將其重命名爲display_tools.py
。 CamelCase通常只用於類名。
很好的答案,但可能是OP的矯枉過正。 –
我並不真正使用安裝程序。根據我在問題中提出的文件樹,從工具導入DisplayTools.py不工作(即使在Tools目錄中有一個空的'__init__'文件)... [感謝您對namin約定的評論] – user1187727
包裝是我期望的更復雜的演變。我會盡力在稍後處理。我希望用戶根據Tools/DisplayTools.py中的函數填寫Start.py,例如! – user1187727