python import 自己的包

2021-08-22 19:36:16 字數 2854 閱讀 3438

在寫python時,有時候寫的乙個python檔案可能需要被其他python檔案所用,那麼可以用匯入包 import 的 方式:

1.自己寫的包放到**?

>>>importsys

>>> sys.path

['', '/usr/lib64/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib/python3.4/site-packages']

可以看到上面列舉了一些資料夾位址,那麼自己寫的包理論上都可以放到上述位址中,但有一些如」/usr/lib64/python3.4「並不推薦,比較推薦的是:「」 , 「'/usr/lib/python3.4/site-packages'」, 「'/usr/lib64/python3.4/site-packages'」

2.如何匯入自己寫的包?

比如「/usr/lib/python3.4/site-packages」,如果我寫了 乙個 exp.py 檔案放在這個檔案下,那麼我在自己的系統寫的 python3 檔案都可以採用import exp匯入。

還可以看到還有乙個是「」,及當前資料夾,假如 存在如此的 乙個 檔案 結構:

parent/

one/

__init__.py

exp.py

exp2.py

exp3.py

exp.py和exp2.py都在one目錄下,那麼在exp2.py中可以通過import exp匯入exp.py

而exp3.py和one都處在parent目錄下,那麼在exp3.py中可以通過import one.exp匯入exp.py

3.__init__.py的作用

偶爾可以看到有些人寫的包下面還會有乙個__init__.py,它的作用是在匯入包時首先執行的。

假設在 exp3.py 中寫入import one.exp,那麼會首先執行 __init__.py 檔案,接著會執行exp.py檔案

如果不需要,__init__.py可以為空,也可以乾脆不加入__init__.py

4.if __name__ == "__main__"

也有時候會看到 .if __name__ == "__main__" 語句,它的作用就是當此檔案沒有被作為匯入的檔案使用時執行 if 語句塊裡的程式。

假如 exp.py 中加入了if __name__ == "__main__",然後python3 exp.py,就會執行這個語句塊裡的內容

而 如果if __name__ == "exp",時則是被 其他檔案 以"import exp"匯入時執行的部分

有如果是if __name__ == "one.exp",時則是被 其他檔案 以"import one.exp"匯入時執行的部分

注意 在  "import exp"時是不會執行 if __name__ == "one.exp"中的內容的!同樣: "import one.exp「是不會執行 if __name__ == "exp"中的內容的

python import 自己的包

在寫python時,有時候寫的乙個python檔案可能需要被其他python檔案所用,那麼可以用匯入包 import 的 方式 1.自己寫的包放到 import sys sys.path usr lib64 python34.zip usr lib64 python3.4 usr lib64 pyt...

Python import過程解析

模組 乙個.py檔案 包 乙個資料夾,裡面一定包括乙個 init py檔案,可能包括子包和模組 module.py a 1 print module.py test.py import module print module.a 執行test.py,執行結果 module.py 1結論 import...

python import模組方法

python語言中import的使用很簡單,直接使用import module name語句匯入即可。這裡我主要寫一下 import 的本質。模組 module 用來從邏輯 實現乙個功能 上組織python 變數 函式 類 本質就是 py檔案。檔案是物理上組織方式 module name.py 模組...