Я хочу создать скрипт, где я проверяю время от времени json-файл, используя функцию while.Там есть json, который выглядит следующим образом:
{
"names":[
{
"name":"hello",
"numbers":0
},
{
"name":"stack",
"numbers":1
},
{
"name":"over",
"numbers":2
},
{
"name":"flow",
"numbers":12
},
{
"name":"how",
"numbers":17
},
{
"name":"are",
"numbers":11
},
{
"name":"you",
"numbers":18
},
{
"name":"today",
"numbers":6
},
{
"name":"merry",
"numbers":4
},
{
"name":"x",
"numbers":1
},
{
"name":"mass",
"numbers":0
},
{
"name":"santa",
"numbers":4
},
{
"name":"hohoho",
"numbers":1
}
]
}
, и я хочу проверять каждое число, если числа для каждого имени были увеличены, чем предыдущий взгляд json.
def script():
with open('data.json') as f:
old_data = json.load(f)
while True:
with open('data.json') as f:
new_data = json.load(f)
if old_data < new_data:
print("Bigger!!" + new_data['name'])
old_data = new_data
else:
randomtime = random.randint(5, 15)
print("Nothing increased")
old_data = new_data
time.sleep(randomtime)
Теперь я знаю, что сделал это неправильно, и именно поэтому я здесь.В настоящий момент я понятия не имею, что я могу сделать, чтобы создать функцию, в которой она проверяет числа по номерам, чтобы увидеть, стало ли оно больше или нет.
Мой вопрос:
Как можноЯ делаю так, чтобы он проверял объект за объектом, чтобы увидеть, не стало ли число больше из предыдущего цикла?и если он не стал больше, но ниже, он должен обновить значение old_data и зацикливаться до тех пор, пока числа не станут больше, чем предыдущий цикл?
EDIT:
Рекомендация, которую я получил от @ Karl
{
'names': {
'hello': 0,
'stack': 0,
'over': 2,
'flow': 12,
'how': 17,
'are': 11,
'you': 18,
'today': 6,
'merry': 4,
'x': 1,
'mass': 0,
'santa': 4,
'hohoho': 1
}
}