Я редактировал файл json, но сам файл не обновляется (python) - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь отредактировать словарь, который я поместил в базу данных json и упростил код до простого кода, но он не работает: (python)

with open ("./userdata/" + str(int(author.id)) + ".json", "r") as f:
                fileLoaded = json.load(f)
            fileLoaded["dollars"] -= cost

Но файл не изменяется Я точно знаю, что обращаюсь к правильному файлу, потому что он не выдает никаких ошибок, и я могу прочитать fileLoaded. Что я делаю не так?

Спасибо, друзья

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

Вам нужно открыть файл, а затем сбросить файл после того, как вы отредактировали его, чтобы сохранить. Попробуйте добавить это в конец кода:

with open ("./userdata/" + str(int(author.id)) + ".json", "w") as f:
        json.dump(fileLoaded, f)
0 голосов
/ 04 февраля 2020

Вы не записываете это в файл. json.load не дает «магическую ссылку», которую можно использовать для редактирования файла. После изменения словаря сохраните его с помощью json.dump. Как это:

f.close()
with open("./userdata/" + str(int(author.id)) + ".json", 'w' as f):
    json.dump(fileLoaded, f)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...