繁体   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