python import 自己的包

2021-09-21 18:05:37 字數 1767 閱讀 9368

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

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

import sys

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 匯入。

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

345parent/

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.ifname== 「main

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

假如 exp.py 中加入了 ifname== 「main」 ,然後 python3 exp.py,就會執行這個語句塊裡的內容

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

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

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

python import 自己的包

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

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 模組...