无论如何,在一定时间间隔后是否可以更新 JSON 文件中的值?

Is there anyway to update values in a JSON file after a certain interval of time?

假设我有一个包含多个值的 json 文件:

{
    "google":5,
    "apple":4,
    "msft":3,
    "amazon":6
}

有什么方法可以在一定时间间隔后更新文件中的每个单独值吗?例如,我可以每分钟将 Google 值从 5 更改为 6,然后更改为 7,依此类推。

使用 time.sleep() 你可以做到这一点。 time.sleep() 将您的代码延迟您指定的秒数,允许小数。如果将它放在不同的线程中,则可以在发生这种情况时执行代码。这是线程版本的一些代码,但您可以通过调用 updatedict()

来删除线程
import json
from time import sleep
import threading

values = {
    "google":5,
    "apple":4,
    "msft":3,
    "amazon":6
}
def updatedict():
    while True:
        global values
        #incrementing values
        for value in values:
            values[value] += 1
        #Writing file
        with open("values.json","w+") as f:
            f.write(json.dumps(values))
        #Sleeping 1 minute
        sleep(60)
#Starting new thread
threading.Thread(target=updatedict).start()
#Any code you wish to run at the same time as the above function

如果您打算多次 运行 脚本,每次递增到已经存在的内容上,请将现有的 values 变量赋值替换为

try:
    with open("values.json") as f:
        values = json.load(f)
#If the file is not found, regenerates values
except FileNotFoundError:
    values = {
    "google":5,
    "apple":4,
    "msft":3,
    "amazon":6
}