python基礎】——python添加模塊搜索路徑和包的導入

方法一:函數添加
1 import sys
2 查看sys.path
3 添加sys.path.append("c:\\")python

方法二:修改環境變量
w用戶能夠修改系統環境變量PYTHONPATHlinux

方法三:增長.pth文件,推薦!
在site-packages添加一個路徑文件,如mypkpath.pth,必須以.pth爲後綴,寫上你要加入的模塊文件所在的目錄名稱就是了。
 1 windows
    c:\python27\site-packages
# 咱們的學員把pth文件直接放在c:\python27
# (或其餘python安裝目錄)目錄下測試也是有效的
# 2015.9.23
  2 linux(ubuntu)
   /usr/local/lib/python2.7/dist-packages  (note by shanql, 我是放在這個目錄下有效的,所添加的目錄必定要存在,不存在則會不成功)
2 linux(redhat)ubuntu

 

   /usr/lib/python2.7/site-packageswindows

 

 

 

包的調用app

爲了不模塊名衝突,Python又引入了按目錄來組織模塊的方法,稱爲包(Package)。python2.7

 

每個包目錄下面都會有一個__init__.py的文件,這個文件是必須存在的,不然,Python就把這個目錄當成普通目錄(文件夾),而不是一個包。__init__.py能夠是空文件,也能夠有Python代碼,由於__init__.py自己就是一個模塊,而它的模塊名就是對應包的名字。調用包就是執行包下的__init__.py文件。函數

跨包調用(當前目錄下有modulepack1包):測試

1 from modulepack1[.modulepack2] import module
若是當前目錄下可以找到要調用的包,能夠直接from包import模塊,若是當前目錄找不到要調用的包,須要向sys.path添加包的所在絕對路徑。spa

import一個包名,就等於執行了這個包下的__init__文件。.net

示例:

 

在nod1裏import  hello是找不到的,須要手動添加包路徑,若是找到那是由於pycharm給加了沒必要要的路徑,以命令行執行爲準。

1 import sys,os
2 BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  #__file__獲取執行文件相對路徑,整行爲取上一級的上一級目錄
3 sys.path.append(BASE_DIR)  #添加路徑
4 import hello
5 hello.hello1()
模塊調用測試

1 if __name__=='__main__':  #__name__方法判斷
2 print('ok')
在一個py模塊直接執行print(__name__)會輸出__main__,表示當前這個文件屬於執行文件,若是從其餘的py模塊中導入一個py模塊,執行被導入的py模塊中的print(__name__)會輸出被導入的模塊的模塊名稱,那麼if判斷就不會成功,因此導入的時候不會執行判斷內的代碼。

主要用在調試功能,即一個模塊被調用的時候不執行內容,而本身調試模塊的時候能夠順利的執行模塊內容。————————————————版權聲明:本文爲CSDN博主「Teingi」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/weixin_40449300/article/details/79327201

相關文章
相關標籤/搜索