python的包管理方式

2021-07-12 05:47:08 字數 1510 閱讀 2325

** 

模組包:

包通常總是乙個目錄,目錄下為首的乙個檔案便是 __init__.py。然後是一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。差不多就像這樣吧:

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

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__ 變數。該變數包含執行這樣的語句時應該匯入的模組的名字。它由乙個模組名字串列表組成.。

記憶體管理方式

記憶體管理方式 塊 段 頁 段頁 頁式管理 頁式管理的基本原理將各程序的虛擬空間劃分成若干個長度相等的頁 page 頁式管理把記憶體空間按頁的大小劃分成片或者頁面 page frame 然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請...

管理方式調整

最近加班加成狗,另外,在工作安排和管理上,也覺得一些地方不太對勁,也覺得有些事情管的過細,有些事情缺又管的太粗,所以思前想後,覺得我應該在管理方式得做一些調整,以適應目前的形式,解決發現的問題問題 1 主動合理安排任務,不干涉執行 任務要更主動安排,要更詳細描述,把期望目標和客戶需求描述的更詳細。例...

文件的管理方式

摘要 這裡只對手寫文件的管理進行個人方式的總結。包括文件的書寫和儲存等。以下部分基於假設 你使用markdown書寫文件。markdown,vscode,mpe1 markdownlint,git,github 2 理論上,應使用markdown語言進行編輯,並控制每行只有一句話。而在markdow...