4 7 Python包的匯入

2021-07-14 06:18:54 字數 1359 閱讀 8201

假定我們的包的例子有如下的目錄結構:

phone/

__init__.py

common_util.py

voicedta/

__init__.py

pots.py

isdn.py

fax/

__init__.py

g3.py

mobile/

__init__.py

analog.py

igital.py

pager/

__init__.py

numeric.py

phone 是最頂層的包,voicedta 等是它的子包。 我們可以這樣匯入子包:

import phone.mobile.analog

phone.mobile.analog.

dial

()

你也可使用 from-import 實現不同需求的匯入。

第一種方法是只匯入頂層的子包,然後使用屬性/點操作符向下引用子包樹:

from phone import mobile

mobile.analog.

dial

('555-1212'

)

此外,我們可以還引用更多的子包:

from phone.mobile import analog

analog.

dial

('555-1212'

)

事實上,你可以一直沿子包的樹狀結構匯入:

from phone.mobile.analog import dial

dial

('555-1212'

)

在我們上邊的目錄結構中,我們可以發現很多的 __init__.py 檔案。這些是初始化模組,from-import 語句匯入子包時需要用到它。 如果沒有用到,他們可以是空檔案。 程式設計師經常忘記為它們的包目錄加入 __init__.py 檔案,所以從 python 2.5 開始,這將會導致乙個 importwarning 資訊。

不過,除非給直譯器傳遞了 -wd 選項,否則它會被簡單地忽略。

包同樣支援 from-import all 語句:

from package.module import

*

然而,這樣的語句會匯入哪些檔案取決於作業系統的檔案系統。所以我們在__init__.py 中加入 __all__ 變數。該變數包含執行這樣的語句時應該匯入的模組的名字。它由乙個模組名字串列表組成.。

47 Python高階小結

目錄 三 資料型別內建方法 3.2 字串型別內建方法 3.3 列表型別內建方法 3.4 元祖型別內建方法 3.5 字典型別內建方法 3.6 集合型別內建方法 3.7 布林型別 四 資料型別分類 萬能捕捉異常公式 try 邏輯 1 0except exception as e print e divi...

python 包的匯入

1,包 定義 把解決一類問題的模組放在同乙個資料夾裡 匯入語法 在import from.import匯入語句中 而不是在使用時 遇到帶點的 本質 就是乙個包含 init py檔案的目錄,在py2中,必須有 init py檔案,py3沒有也可以執行。包只是模組的一種形式而已,包即模組,是為了匯入方便...

python導包 Python中包的匯入

15 june 2015 當你從python直譯器退出後再重新進入,之前所寫的 包括變數 函式都已經不存在了,如果你想週期性的執行這些功能但是並不想每次都將這些 重新輸入一遍,你可以將這些 儲存成檔案在本地進行儲存 也就是指令碼 當你寫的程式規模越來越大,維護起來越發吃力,你或許會想把它分割為不同功...