Ошибка not writable при попытке перезаписать json строку из Питона

открываю .json файл из .py файла и пытаюсь одну из его строк перезаписать на локальную переменную. Вижу ошибку not writtable. Как исправить и в чем проблема?


Ответы (1 шт):

Автор решения: artaxerx

Вы открыли файл только для чтения, поэтому и нельзя его перезаписывать, при открытии нужно ещё задать параметр mode (см. http://pythonicway.com/python-fileio):

with open('data.json', 'r+') as fh: #'r+' открывает файл на чтение и изменение
    data = json.load(fh)
    data["password"] = cpw
    fh.seek(0) # возвращаемся в начало файла, иначе новый JSON-объект допишется после прочитанного
    json.dump(data, fh)
→ Ссылка