我有一个使用while循环的函数,理想情况下,我想设置该函数然后在后台运行。在这个while循环中,我使用一个列表。我想做的是,如果我认为要在此列表中放入其他内容,我可以简单地编辑该列表,然后在下次循环开始时使用更新的列表。此刻,我似乎找不到办法。
我试图在单独的程序中定义列表,然后在每个循环的开始将其导入。然后,我在单独的程序中更新了列表,但是输出中未反映出该列表。
import time
while True:
from list_test import sample_list
print(sample_list)
time.sleep(30)
当我更新sample_list时,输出不会改变。有人知道为什么是这样吗?抱歉,如果解决方案很简单,那么我一般对编程还是陌生的!
答案 0 :(得分:2)
正如评论中已经提到的那样,通常不建议您更新要迭代的列表(即使您只是在示例中打印它)。也就是说,您可以将importlib与reload方法一起使用。例如这样的
import time
import importlib
list_module = importlib.import_module("list_test")
sample_list = list_module.sample_list
while True:
sample_list = importlib.reload(list_module).sample_list
print(sample_list)
time.sleep(5)
请注意,您必须手动更新列表才能查看更改。在运行时使用其他程序更新列表将不起作用。