模塊

模塊搜索目錄

模塊搜索目錄

當使用import語句導入模塊時,默認情況下,會按照以下順序進行查找:
(1)在當前目錄(即執(zhí)行的Python腳本文件所在目錄)查找。
(2)到PYTHONPATH(環(huán)境變量)下的每個目錄中查找
(3)到Python的默認安裝目錄下查找。
以上各個目錄的具體位置保存在標準模塊sys的sys.path變量中。可以通過以下代碼輸出具體的
目錄:

import sys
print(sys.path)
['', 'C:\Users\39713\AppData\Local\Programs\Python\Python37\Lib\idlelib',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\python37.zip',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\DLLs',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\lib',
'C:\Users\39713\AppData\Local\Programs\Python\Python37',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\lib\site-packages']

如果要導入的模塊不在所示的目錄中,那么在導入模塊時,將拋出異常。

注意:使用Import語句導入模塊時,模塊名是區(qū)分字母大小寫的。

這時我們可以通過以下3種方式添加到指定的目錄到sys.path中。
1.臨時添加
臨時添加即在導入模塊的Python文件種添加,例如,需要將"C:\Users\39713\Desktop\lzx\PY練習"目錄添加到sys.path中,可以
使用下面的代碼:

import sys
sys.path.append('C:/Users/39713/Desktop/lzx/PY練習')
sys.path
['', 'C:\Users\39713\AppData\Local\Programs\Python\Python37\Lib\idlelib',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\python37.zip',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\DLLs',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\lib',
'C:\Users\39713\AppData\Local\Programs\Python\Python37',
'C:\Users\39713\AppData\Local\Programs\Python\Python37\lib\site-packages',
'C:/Users/39713/Desktop/lzx/PY練習']

此時,輸出sys.path即可看到新添加的目錄。

說明:通過該方法添加的目錄只在執(zhí)行當前文件的窗口中有效,窗口關閉后即失效。

2.增加.pth文件(推薦)
在Python安裝目錄下的"Lib\site-packages"子目錄中,創(chuàng)建一個擴展名為.pth的文件,文件名任
意。這里創(chuàng)建一個mrpath.pth文件,在該文件中添加要導入模塊所在的目錄。例如,將模塊目錄
'C:/Users/39713/Desktop/lzx/PY練習'添加到mrpath.pth文件,在這個pth文件里加入以下內容:
C:\Users\39713\Desktop\lzx\PY練習

注意:創(chuàng)建.pth文件后,需要重新打開要執(zhí)行的導入模塊的Python文件,否則新添加的目錄不起
作用。

說明:該方法3.7版本以后有效。

3.在PYTHONPATH環(huán)境變量中添加
打開"環(huán)境變量"對話框,如果沒有PYTHONPATH系統(tǒng)環(huán)境變量,則需要先創(chuàng)建一個,否則直接
選中PYTHONPATH變量,單擊"編輯"按鈕,并且在彈出對話框的"變量值"文本中添加新的模塊
目錄,目錄之前使用逗號進行分隔。例如,創(chuàng)建系統(tǒng)環(huán)境變量PYTHONPATH,并指定模塊所在
目錄為C:\Users\39713\Desktop\lzx\PY練習。

注意:環(huán)境變量中添加模塊目錄后,需要重新打開要執(zhí)行的導入模塊的Python文件,否則新添加的目錄不起
作用。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容