python使用reload進行熱更新

2021-10-04 02:38:34 字數 579 閱讀 2955

python2.7+django1.8+ubuntu18.04

因需求定期修改密碼,每次修改完後手動更新配置,重啟服務不現實,本人是在郵件密碼遇見的坑。

settings裡的配置通過config.py配置檔案中的conf類動態獲取,conf讀取配置檔案conf.ini中的配置,然後密碼更新後初始化乙個conf例項,呼叫set方法更新conf.ini裡的資訊

這樣更新完了django.settings並不會更新,需要使用reload

from django import settings

reload

(settings)

此時配置生效到settings中,但是呼叫send_mail方法(預設配置為django.settings中的配置)

會繼續報錯,因為send_mail中的配置沒有更新,目前我的解決辦法是

from django.settings import email_host_password

send_mail(auth_password=email_host_password)

這樣 就不會再提示錯誤

Python中的reload函式

python中的import語句可以匯入module檔案,但是import語句只是第一次匯入的時候會執行module檔案中的 然後就會把匯入的模組檔案存入到記憶體,當再次匯入的時候,python是直接從記憶體裡面取出module檔案,而不會執行module檔案的內容了,而reload函式強制pyth...

Python中的reload函式

python中的import語句可以匯入module檔案,但是import語句只是第一次匯入的時候會執行module檔案中的 然後就會把匯入的模組檔案存入到記憶體,當再次匯入的時候,python是直接從記憶體裡面取出module檔案,而不會執行module檔案的內容了,而reload函式強制pyth...

Python的reload及熱更新

python的reload及熱更新 horin horin153 msn.com blog 問題 1 浪費了部分記憶體,無所謂,反正記憶體早就是 gb 時代了。問題 2 可以用 import m 方式解決,強迫自己改變編碼風格就可以了,也可以忍受。問題 3 卻是壓死 reload 的最後一根稻草了 ...