python模塊的搜索路徑


python模塊的搜索路徑

一、模塊搜索路徑的順序

模塊其實就是一個文件,如果要執行文件,首先就需要找到模塊的路徑(某個文件夾),如果模塊的文件路徑和執行文件不在同一個文件的目錄下,我們就需要指定文件的路徑。

模塊的搜索路徑指的是在導入模塊時需要檢索的文件夾。

導入模塊時查找模塊的順序是:

  1. 先從內存中已經導入的模塊中尋找
  2. 內置的模塊
  3. 環境變量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()

總結

模塊的搜索路徑是:內存 --> 內置 --> 自定制 --> 環境變量


免責聲明!

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



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