python腳本中的sys.path.append("..")詳解


前言

當我們導入一個模塊時: import xxx ,默認情況下python解釋器會搜索當前目錄、已安裝的內置模塊和第三方模塊。

搜索路徑存放在sys模塊的path中。【即默認搜索路徑可以通過sys.path打印查看】

sys.path.append()

 sys.path是一個列表 list ,它里面包含了已經添加到系統的環境變量路徑。

當我們要添加自己的引用模塊搜索目錄時,可以通過列表 list 的 append()方法;

sys.path.append()

對於需要引用的模塊和需要執行的腳本文件不在同一個目錄時,可以按照如下形式來添加路徑:

【例如:

①導入的XX包在另一個項目文件中,在自己寫的程序中需要用到XX包。

②所以我們在運行自己寫的程序時,首先加載導入的XX包,加載的時候python解釋器會去sys.path默認搜索路徑去搜索。

③如果通過sys.path中的路徑可以搜索到XX包,然后加載。

④如果無法通過sys.path中的路徑搜索到XX包,即說明自己的程序中引用的XX包,與自己程序腳本所在目錄不在同一個路徑。(無法在自己的程序腳本中根據默認搜索路徑查找到XX包)

⑤然后我們就需要將XX包的搜索路徑添加到自己程序腳本的默認搜索路徑中,重新運行自己的程序腳本,先搜索XX包在家載XX包。

import sys  
sys.path.append(’需要引用模塊的地址')
# sys.path.append("..") # 這代表添加當前路徑的上一級目錄

【注意】:這種方法是運行時修改,腳本運行后就會失效。

運行結果:

sys.path.append('..')括號里這兩個點是什么意思?

這是目錄的意思,即代表上一級目錄。

通過這種方式,python程序會在上一級查找相應的其他python包或者文件。

sys.path.append('..\..')還有類似的sys.path.append('../..') 就是代表當前位置得上兩級的目錄地址。

改變當前python腳本的默認搜索路徑的第二種方式

把路徑添加到系統的環境變量,或把該路徑的文件夾放進已經添加到系統環境變量的路徑內。

環境變量的內容會自動添加到模塊搜索路徑中。

sys模塊包含了與python解釋器和它的環境有關的函數;可以通過dir(sys)來查看方法和成員屬性。

下面的兩個方法可以將模塊路徑加到當前模塊掃描的路徑里:

sys.path.append('你的模塊的名稱')

sys.path.insert(0,'模塊的名稱')

永久添加路徑到sys.path中,方式有三。

如下:

1)將寫好的py文件放到已經添加到系統環境變量的目錄下;

2) 在 /usr/lib/python2.6/site-packages 下面新建一個.pth 文件(以pth作為后綴名);將模塊的路徑寫進去,一行一個路徑,如: vim pythonmodule.pth

/home/liu/shell/config
/home/liu/shell/base

3) 使用PYTHONPATH環境變量
export PYTHONPATH=$PYTHONPATH:/home/liu/shell/config


免責聲明!

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



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