如何在不重启应用程序的情况下自动重新加载python模块?

问题描述 投票:-1回答:1

我对运行应用程序后调整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)

这样的事情可以胜任这项工作,但也许有更好的方法来实现这种行为?

python django reload
1个回答
0
投票

您可以创建单独的文件来管理动态内容。然后从该文件导入所需的数据。

data.朋友

some_data = 10

script.朋友

import time
from .data import some_data

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

然后您可以将data.py中的值编辑为您想要的任何值,而无需重新启动脚本。

© www.soinside.com 2019 - 2024. All rights reserved.