无论如何,在一定时间间隔后是否可以更新 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
}
假设我有一个包含多个值的 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
}