python添加模塊搜索路徑和包的導(dǎo)入方法
方法一:函數(shù)添加
1 import sys
2 查看sys.path
3 添加sys.path.append("c:\\")
方法二:修改環(huán)境變量
w用戶可以修改系統(tǒng)環(huán)境變量PYTHONPATH
方法三:增加.pth文件,推薦!
在site-packages添加一個路徑文件,如mypkpath.pth,必須以.pth為后綴,寫上你要加入的模塊文件所在的目錄名稱就是了。
1 windows
c:\python27\site-packages
# 我們的學(xué)員把pth文件直接放在c:\python27
# (或其他python安裝目錄)目錄下測試也是有效的
# 2015.9.23
2 linux(ubuntu)
/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在這個目錄下有效的,所添加的目錄一定要存在,不存在則會不成功)
2 linux(redhat)
/usr/lib/python2.7/site-packages
包的調(diào)用
為了避免模塊名沖突,Python又引入了按目錄來組織模塊的方法,稱為包(Package)。

每一個包目錄下面都會有一個__init__.py的文件,這個文件是必須存在的,否則,Python就把這個目錄當(dāng)成普通目錄(文件夾),而不是一個包。__init__.py可以是空文件,也可以有Python代碼,因為__init__.py本身就是一個模塊,而它的模塊名就是對應(yīng)包的名字。調(diào)用包就是執(zhí)行包下的__init__.py文件。
跨包調(diào)用(當(dāng)前目錄下有modulepack1包):
from modulepack1[.modulepack2] import module
如果當(dāng)前目錄下能夠找到要調(diào)用的包,可以直接from包import模塊,如果當(dāng)前目錄找不到要調(diào)用的包,需要向sys.path添加包的所在絕對路徑。
import一個包名,就等于執(zhí)行了這個包下的__init__文件。
示例:

在nod1里import hello是找不到的,需要手動添加包路徑,如果找到那是因為pycharm給加了不必要的路徑,以命令行執(zhí)行為準(zhǔn)。
import sys,os BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #__file__獲取執(zhí)行文件相對路徑,整行為取上一級的上一級目錄 sys.path.append(BASE_DIR) #添加路徑 import hello hello.hello1()
模塊調(diào)用測試
if __name__=='__main__': #__name__方法判斷
print('ok')
在一個py模塊直接執(zhí)行print(__name__)會輸出__main__,表示當(dāng)前這個文件屬于執(zhí)行文件,如果從其他的py模塊中導(dǎo)入一個py模塊,執(zhí)行被導(dǎo)入的py模塊中的print(__name__)會輸出被導(dǎo)入的模塊的模塊名稱,那么if判斷就不會成功,所以導(dǎo)入的時候不會執(zhí)行判斷內(nèi)的代碼。
主要用在調(diào)試功能,即一個模塊被調(diào)用的時候不執(zhí)行內(nèi)容,而自己調(diào)試模塊的時候可以順利的執(zhí)行模塊內(nèi)容。
以上這篇python添加模塊搜索路徑和包的導(dǎo)入方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實現(xiàn)即原理詳解
這篇文章主要介紹了Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實現(xiàn)即原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
基于Python+tkinter實現(xiàn)簡易計算器桌面軟件
tkinter是Python的標(biāo)準(zhǔn)GUI庫,對于初學(xué)者來說,它非常友好,因為它提供了大量的預(yù)制部件,本文小編就來帶大家詳細一下如何利用tkinter制作一個簡易計算器吧2023-09-09
python3實現(xiàn)二叉樹的遍歷與遞歸算法解析(小結(jié))
這篇文章主要介紹了python3實現(xiàn)二叉樹的遍歷與遞歸算法解析(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
python學(xué)習(xí)之基于Python的人臉識別技術(shù)學(xué)習(xí)
面部識別技術(shù)的應(yīng)用越來越廣泛,它廣泛應(yīng)用于安全系統(tǒng)、人機交互、社交媒體、醫(yī)療保健等領(lǐng)域。本文介紹了基于Python的人臉識別技術(shù),感興趣的小伙伴可以參考閱讀2023-03-03

