7 python 模塊間相互導入


python在不同層級目錄import模塊的方法 

注意,在python3里,即使目錄下沒__int__.py文件也能創建成功,猜應該是解釋器優化所致,但創建包還是要記得加上這個文件 吧。

1、模塊的分類

(1)內置模塊(又稱標准庫)執行help(modules)查看所以python自帶模塊列表

(2)第三方開源模塊,可以通過pip install模塊名聯網安裝 django

(3)自定模塊

 2、什么是模塊

在計算機程序開發過程中,隨着代碼越寫越多,在一個文件里代碼就會越來越長,越來越不容易維護,為了提高代碼的可維護性。

我們把很多函數分組,分別放在不同的文件里,這樣每個文件里面的代碼就相對較少。

在python中,一個.py文件就稱為一個模塊

3、使用模塊的好處

(1)提高代碼的可維護性

(2)避免函數名和變量名沖突

(2)模塊可以重用,避免使用重復代碼

4、模塊的調用

import module (同級引用)

from module import xxx(引用module 兒子輩文件)

from module.xx.xx import (相當於在引用module的孫子輩文件)

 

當你要導入的文件在和你的當前文件在同一個目錄時,你直接導入這個文件名就好了。

當你要導入的文件或者目錄不和你的當前文件同目錄時,你需要跳到這個你要導入文件的父級目錄,然后一級一級的用點號連接走過的目錄或者文件,

然后就可以了 至於要怎么跳到這個這個父級目錄。

比較通用的就是,將父級目錄加入系統路徑,然后用點號一級一級的尋找,直到到達你要導入的模塊。

好比user_conroller.py 要引用setting.py文件里面的函數 user_conroller.py屬於atm孫子輩文件 atm與conf同級 在user_conroller.py里面設置環境變量 #添加環境變量
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))(atm和conf的父級絕對路徑) sys.path.append(BASE_DIR) os.path.abspath(__file__)表示當前文件的絕對路徑 os.path.dirname(os.path.abspath(__file__))表示user_conroller.py父級目錄的路徑 要引用conf下文件,必須回到conf的父級路徑,所以 設置環境變量: os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))(atm和conf的父級絕對路徑目錄) 引用: from conf import settings #----------------------------------------------------
如果在settings.py文件里面引用 user_conroller.py的函數 設置環境變量 BASE_DIR =os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR) form atm.core import user_conroller



絕對路徑:os.path.abspath("文件名"): 顯示的是一個文件的絕對路勁 print(os.path.abspath("settings.py"))
2、相對路徑
os.path.dirname("文件名"):
顯示的是一個文件的相對路徑
 

5、開源模塊的安裝和使用

開源模塊安裝、使用

https://pypi.python.org/pypi 是python的開源模塊庫,截止2017年9.30日 ,已經收錄了118170個來自全世界python開發者貢獻的模塊,幾乎涵蓋了你想用python做的任何事情。

事實上每個python開發者,只要注冊一個賬號就可以往這個平台上傳你自己的模塊,這樣全世界的開發者都可以容易的下載並使用你的模塊。

那如何從這個平台上下載代碼呢?

1.直接在上面這個頁面上點download,下載后,解壓並進入目錄,執行以下命令完成安裝

編譯源碼    python setup.py build
安裝源碼    python setup.py install

直接通過pip安裝 pip3 install paramiko #paramiko 是模塊名

pip命令會自動下載模塊包並完成安裝。

軟件一般會被自動安裝你python安裝目錄的這個子目錄里

/your_python_install_path/3.6/lib/python3.6/site-packages

pip命令默認會連接在國外的python官方服務器下載,速度比較慢,你還可以使用國內的豆瓣源,數據會定期同步國外官網,速度快好多

sudo pip install -i http://pypi.douban.com/simple/ alex_sayhi --trusted-host pypi.douban.com   #alex_say


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM