добавить строку в файл и перезаписать - python - PullRequest
0 голосов
/ 11 января 2020

Как я могу добавить строку в файл json и перезаписать его с тем же именем?

data.json    
{
 'a': 1,
 'b': 2}

Я пытался

with open('data.json', 'r+') as json_file:
    data = json.load(json_file)
    data.update({'c': 3})
    json.dump(data,json_file)

, но это добавляет все данные, не только намеченная линия

1 Ответ

2 голосов
/ 11 января 2020

Сначала вам нужно прочитать файл JSON и передать второй аргумент в методе json.load(), чтобы сохранить порядок словаря. Таким образом, при назначении пары ключ-значение словарю OrderedDict автоматически добавит его в конец. Наконец, напишите в файл.

import json
from collections import OrderedDict

with open('data.json', 'r') as json_file:
    data = json.load(json_file, object_pairs_hook=OrderedDict)
    data['c'] = 3

with open('data.json', 'w') as json_file:
    json.dump(data, json_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...