Python - изменение объектов json с помощью Python

with open("attacks.json") as json_data:
    items = json.load(json_data)

if int(data["balance"]) => 0:
    total = int(data["balance"]) - int(quantity) * int(items[weapon]["purchase_cost"])
    total = int(total)

    profileData[ctx.message.author.id]["balance"] = "{}".format(total)

    with open("{}.json".format(ctx.message.author.id), "w") as json_file:
        json.dump(data, json_file)

так что в основном я хочу, чтобы это работало.

profile_template = {
  ctx.message.author.id: {
    "name": ctx.message.author.name,
    "id": ctx.message.author.id,
    "balance": "1000",
    "shield_hitpoints": "2500",
    "defense_power": "50",
    "attack_upgrade": "100%",
    "healthpoints_upgrade": "100%",
    "soldier#": "0",
    "sniper#": "0",
    "demolitionist#": "0",
    "armored_vehicle#": "0",
    "tank#": "0",
    "spy#": "0"
  }
}

Но когда я изменяю файл json, ctx.message.author.id удаляется. Как мне сохранить его при изменении файла?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
132
1

Ответы 1

Итак, когда вы открываете файл attacks.json, вы сохраняете его в переменной items. Затем вы измените переменную profileData. Затем вы записываете в файл переменную data.

Это источник вашей ошибки?

Также вы делаете сравнение int(data["balance"]) => 0, я думаю, вы имеете в виду int(data["balance"]) >= 0.

Другие вопросы по теме