python - 在 Python 中实时不断变化的更新列表
问题描述
我对python很陌生,似乎在搜索完之后我似乎找不到解决方案。所以我想要做的是有一个空白列表,其中没有任何内容,然后有一个变量将每天总是在变化的数据附加到该列表中。我想要的是如何更新发生这种情况的更改列表。我将尝试在这段代码中解释它
l = []
sum = data[0][1]
l.append(sum)
现在,这个总和变量值每天或每秒都在变化,就像从不断更新的 JSON 文件中获取数据一样。我想要做的是列表不会改变,但每次改变时都会添加不断变化的总和,所以如果第一天 sum = 1,然后第二天 sum = 2,我希望更新列表所以第一天是[1],第二天是[1,2]。我真的很困惑我应该学习python的哪一部分才能做到这一点,如果有人有任何建议,这对我在python中的第一个项目真的有帮助。谢谢你。
解决方案
这需要使用循环。这是一个使用无限循环 ( while True
) 的示例。
import time # for "waiting" a day
N_SEC_IN_DAY = 60 * 60 * 24 # 1 day in seconds
list_ = []
while True:
sum_ = getsum() # defined elsewhere
list_.append(sum_)
time.sleep(N_SEC_IN_DAY)
另外,请注意我所做的几个风格上的改变。
list
->list_
避免与内置函数发生冲突。sum
->sum_
避免与内置函数发生冲突。
如果您想在程序运行时访问此列表,您可能需要添加一个记录器,该记录器在list_
每次sum_
添加新值时记录值。
将以下行添加到代码的顶部:
import logging
logging.basicConfig(filename='log', level=logging.INFO)
添加更改循环以说:
while True:
sum_ = getsum() # defined elsewhere
list_.append(sum_)
logging.info(str(list)) # LOGGING TAKES PLACE HERE
time.sleep(N_SEC_IN_DAY)
最后,我想指出一个更好的方法是使用 crontabs 来安排作业。我不打算深入讨论,因为网上有很多教程,只要谷歌“crontab”。(感谢评论者 DevanshSoni 的提醒。)
推荐阅读
- operating-system - HMI 设备上应该有 RTOS 吗?
- python - 使用 python3.6 和 BeautifulSoup。我得到的是hrefs,但我无法下载它们
- apache-spark - 在运行时为 spark 传递参数
- r - 使用 R 对时间线进行数据操作/插补
- ios - 检查浮点值
- hibernate - Hibernate:与两个 @JoinColumn 的关系上的 MappingException,其中一个列具有附加的 PK 只读映射
- c# - 输入的自定义效果。清除文本按钮
- python - 将键值对树转换为 json 对象
- node.js - 当项目根目录中存在 .npmrc 时无法登录到 npm
- python - 使用变量从列表中删除项目