簡體   English   中英

如何在不重新啟動應用程序的情況下自動重新加載 python 模塊?

[英]How to auto reload python module without restarting app?

我有興趣在運行應用程序后調整 python 文件。 假設我們有一個腳本:

import time

while True:
    time.sleep(10)
    print(2)

我運行它,所以它每 10 秒打印一次數字2 我希望能夠將2更改為5這樣我就不需要重新運行腳本,但輸出更改為5.

這種機制在Django以某種方式實現,在編輯文件后,重新加載服務器上的數據。

編輯:

import time
from importlib import reload
import data

while True:
    reload(data)
    print(data.some_data)
    time.sleep(1)

像這樣的事情可以完成這項工作,但也許有更好的方法來實現這種行為?

您可以創建一個單獨的文件來管理動態內容。 然后從該文件導入您需要的數據。

數據文件

some_data = 10

腳本文件

import time
from .data import some_data

while True:
    time.sleep(10)
    print(some_data)

然后您可以將 data.py 中的值編輯為您想要的任何值,而無需重新啟動腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM