python模塊的搜索路徑
一、模塊搜索路徑的順序
模塊其實就是一個文件,如果要執行文件,首先就需要找到模塊的路徑(某個文件夾),如果模塊的文件路徑和執行文件不在同一個文件的目錄下,我們就需要指定文件的路徑。
模塊的搜索路徑指的是在導入模塊時需要檢索的文件夾。
導入模塊時查找模塊的順序是:
- 先從內存中已經導入的模塊中尋找
- 內置的模塊
- 環境變量sys.path中查找
import sys
print(sys.path)
#輸出:
['F:\\python學習\\測試\\df', 'F:\\python學習', 'D:\\pythonIDE\\PyCharm 2019.1.3\\helpers\\pycharm_display', 'D:\\Python\\python37.zip', 'D:\\Python\\DLLs', 'D:\\Python\\lib', 'D:\\Python', 'D:\\Python\\lib\\site-packages', 'D:\\pythonIDE\\PyCharm 2019.1.3\\helpers\\pycharm_matplotlib_backend']
強調:sys.path的第一個值是當前執行文件的所在的文件夾

1.1驗證先從內存中找
如果我們在運行run.py文件的時候,快速刪除mmm.py文件,我們會發現文件會繼續運行,而且不會報錯,因為mmm.py已經被導入內存,如果我們在一次運行run.py時會報錯,因為mmm.py已經被刪除了。
#m2.py
def f1():
print('111')
f1()
import time
import m2
time.sleep(1)
m2.f1()
1.2驗證先從內置中找
#time.py
print('111')
import time
print(time)
#輸出:<module 'time' (built-in)>
1.3驗證從sys.path環境變量中找
4. 環境變量中 (主要記住未來項目的執行文件一定要弄一個環境變量)
import sys
print(sys.path) # 環境變量,模塊就是在這里找
sys.path.append(r'F:\python學習\0016模塊基礎\04 模塊的搜索路徑')
# del sys.path[1]
print(sys.path)
import testt
testt.f1()
總結
模塊的搜索路徑是:內存 --> 內置 --> 自定制 --> 環境變量
