Python模組 匯入的路徑範圍

2021-10-24 12:12:38 字數 1197 閱讀 7095

模組匯入的路徑範圍

由sys模組的sys.path方法來規定,sys.path返回的資料型別是列表。

案例import sys

print(sys.path)

輸出:['e:\\workspace\\importtest', 'e:\\workspace\\importtest', 'e:\\xuegod\\python35.zip', 'e:\\xuegod\\dlls', 'e:\\xuegod\\lib', 'e:\\xuegod', 'e:\\xuegod\\lib\\site-packages']

列表可以修改、我們匯入的範圍也可以通過修改sys.path這個列表獲得暫時的修改。
2、指令碼和模組不要同名

列表是有序的,當搜尋的過程當中,在第乙個路徑下搜尋到了,就停止搜尋。而且 sys.path第一 個路徑是指令碼的當前路徑,所以禁止把自己的指令碼命名成模組的名稱。

案例:把test01.py 改名為os.py,在test02.py中進行匯入。

improt os

os.print_func(18)

執行結果: attributeerror: module 'os' has no attribute 'path'

3、.pyc臨時檔案

python匯入模組,被匯入的指令碼在第一次被匯入之後會自動形成乙個.pyc臨時檔案之後,再次被匯入時,實際上匯入的是這個.pyc的臨時檔案,發生這樣的錯誤之後,除了要修改檔名稱還要把當前目錄下同名的.pyc 檔案刪除掉(適用於python2,python3 去除,更加靈活……)。

mysqldb.py

import mysqldb

connect = mysqldb.connect()

attributeerror:mysqldb has no attribute"connect"

4、reload() 函式

reload函式是使用模組名稱,而不是變數名稱,也就是說當你把它改變了名稱,它也是載入原來的 名稱。

當使用reload時,這個模組會被重新編譯,新的模組替換原來的模組。如果之前從這個模組建立的例項仍然使用舊的模組實現。

特別是使用from-import語句載入的名稱,也不會被更新。

reload後還是用原來的記憶體位址;

Python 模組匯入路徑

當使用python用import匯入模組時我們不需要在模組前面新增路徑,是因為python有預設的搜尋路徑,這一路徑可以通過呼叫system模組來顯示和修改。in 1 import sys in 2 sys.path out 2 home frank anaconda3 bin home frank...

Python匯入模組import的路徑

可以使用 import sys print sys.path 檢視import的預設搜尋路徑,使用import要匯入的檔案,必須要求要在這個預設路徑下。import sys print sys.path 假如要匯入的檔案,不在這些預設路徑下的話,那麼就要使用 from 路徑 import 模組 這樣...

python 模組 匯入與搜尋路徑

示例 參考python 的 from 語句讓你從模組中匯入乙個指定的部分到當前命名空間中。當你匯入乙個模組,python 解析器對模組位置的搜尋順序是 專案結構 all config settings.py src init py config settings.py db init py data...