轉
在寫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匯入。
還可以看到還有乙個是「」,及當前資料夾,假如 存在如此的 乙個 檔案 結構:
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 模組...