在寫python時,有時候寫的乙個python檔案可能需要被其他python檔案所用,那麼可以用匯入包 import 的 方式:
1.自己寫的包放到**?
import syssys.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 模組...