@andrey13879

Как поменять данные в json файле?

У меня есть json файл:
{
    "accs": [
        {
            "name": "valera337",
            "login": "qwe",
            "password": "123",
            "cookie": true,
            "big_accounts": ["awdawda"]
        }                 
    ]
}


По ходу исполнения скрипта нужно поменять параметр "cookie" этого файла.
Этот код не сработал:
def readInfo():
    with open('Account.json','r') as f:
        data = json.load(f)

    return data['accs']

BigData = readInfo()
for info in BigData:
    print(info['cookie'])
    info['cookie'] = False
    with open('Account.json','w') as f:
        json.dumps(info,ensure_ascii=False,indent = 4)
    print(info['cookie'])

Помогите, пожалуйста.
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@KODYAcoder
Проблема заключается в том, что вы открываете и записываете в файл внутри цикла. Вместо этого вам нужно сначала изменить данные во всем словаре, а затем записать его в файл.

Вот пример, как это можно сделать:

def readInfo():
    with open('Account.json','r') as f:
        data = json.load(f)

    return data['accs']

BigData = readInfo()
for info in BigData:
    print(info['cookie'])
    info['cookie'] = False

with open('Account.json','w') as f:
    json.dump({"accs": BigData}, f, ensure_ascii=False, indent=4)

for info in BigData:
    print(info['cookie'])
В этом примере мы сначала читаем данные из файла в переменную BigData, затем изменяем параметр cookie для каждого элемента в списке BigData. Затем мы записываем измененный BigData обратно в файл.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы