解決Python import模組的快取問題

2021-10-09 06:44:44 字數 845 閱讀 6541

在使用django開發的平台中,支援使用者自定義函式,但是每次使用者進行修改編輯後,該模組內容已更改,然後重新匯入該模組,但是python 會認為「我已經匯入了該模組,不需要再次讀取該檔案」,所以更改將無效。 因此,每次更改檔案的內容時,都必須退出並重新啟動django。 使用python開發後台服務程式的時候,每次修改**之後都需要重啟服務才能生效比較麻煩

要解決這個問題,有以下幾種方式:

最簡單、最有效的方法:重新啟動 django。但是,這也有缺點,特別是丟失了 django命名空間中存在的資料以及其他匯入模組中的資料。

對於簡單的情況,可以使用 python 的​reload()​函式。在許多情況下,在編輯乙個模組之後使用

這裡主要是介紹第二種方式:

​reload()​是 python 提供的內建函式,在不同的 python 版本中有不同的表現形式:

python2.7可以直接用reload():

python2 內建函式reload(module)

python3可以用下面幾種方法:

方法一:基本方法

from imp import reload

reload(module)

方法二:

import imp

imp.reload(module)

方法三:

import importlib

importlib.reload(module)

方法四:

from importlib import reload

reload(module)

說明:module 必須是已經成功匯入的模組

匯入是乙個開銷很大的操作。

野路子解決python import的問題

碰到了這樣乙個問題 就是寫乙個註冊的後端程式 然後想分檔案寫,檢視函式寫在main.py裡面 然後註冊程式寫在registeraction.py裡面 然後在registeraction.py裡寫了乙個add user username,password,email 自己除錯的時候,給這個函式傳3個引...

Python import過程解析

模組 乙個.py檔案 包 乙個資料夾,裡面一定包括乙個 init py檔案,可能包括子包和模組 module.py a 1 print module.py test.py import module print module.a 執行test.py,執行結果 module.py 1結論 import...

python import模組方法

python語言中import的使用很簡單,直接使用import module name語句匯入即可。這裡我主要寫一下 import 的本質。模組 module 用來從邏輯 實現乙個功能 上組織python 變數 函式 類 本質就是 py檔案。檔案是物理上組織方式 module name.py 模組...