hoojpop
@hoojpop

Как обновить определённые данные в JSON?

Есть JSON файл. В которым следующие данные:

{"_TIMES": "1", "RunestoneRare": 0, "EssenceRare": 0, "DustRare": 0, "RunestoneEpic": 0, "EssenceEpic": 0, "DustEpic": 0, "RunestoneLegendary": 0, "EssenceLegendary": 0, "DustLegendary": 0, "Ruby": 0}


Есть код, в котором я проверяю значение REWARDS на совпадение слова из JSON и хочу прибавлять +1 к значению:

import json
    
    REWARD = 'RunestoneRare'
    i = 0
    
    REWARDS = {
        "_TIMES":"1", 
        "RunestoneRare":0, 
        "EssenceRare":0, 
        "DustRare":0, 
        "RunestoneEpic":0, 
        "EssenceEpic":0, 
        "DustEpic":0, 
        "RunestoneLegendary":0, 
        "EssenceLegendary":0, 
        "DustLegendary":0, 
        "Ruby": 0
    }
    
    to_json = REWARDS
    
    with open('sw_templates.json', 'w') as f:
        f.write(json.dumps(to_json))
    
    with open('sw_templates.json', 'r') as f:
        if REWARD == 'RunestoneRare':
            json_data = json.load(f)
            print(json_data['RunestoneRare'])
            json_data['RunestoneRare'] = i + 1
    
    with open('sw_templates.json', 'w') as f:
        f.write(json.dumps(json_data))

---

При первом выполнение кода, в `RunestoneRare` появляется значение 1, как бы уже радует, но при втором выполнение, всё то же значение.

Пробовал:++i, json_data['RunestoneRare'] += 1, json_data['RunestoneRare'] = i + 1 - Не помогает.
  • Вопрос задан
  • 324 просмотра
Решения вопроса 1
yupiter7575
@yupiter7575
Python программист
У вас тут нет цикла => вы запускаете каждый раз программу заново =>
REWARDS = {
"_TIMES":"1",
"RunestoneRare":0,
"EssenceRare":0,
"DustRare":0,
"RunestoneEpic":0,
"EssenceEpic":0,
"DustEpic":0,
"RunestoneLegendary":0,
"EssenceLegendary":0,
"DustLegendary":0,
"Ruby": 0
}

это делается каждый раз
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы