Как обновить значения словаря в файле json? - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь добавить информацию пользователя во вложенный словарь в файле json. Вот код.

import json

dictionary = {'name': 'Tony Stark', 'attributes': ['genius', 'billionaire', 'playboy', 'philanthropist']}

with open('info.json', 'a+') as file:
    json.dump(dictionary, file)

Информация. json file

{'marvel': [
        {'name': 'Bill Gates', 'attributes': ['philanthropist', 'programmer']}
    ]
}

Теперь я не могу вывести словарь как значение для marvel, который является списком. Я пытаюсь сделать его динамическим c, добавив информацию Тони Старка в файл json. Пожалуйста, помогите мне с этим, спасибо.

1 Ответ

2 голосов
/ 05 апреля 2020

Альтернатива:

import json

dictionary = {'name': 'Tony Stark', 'attributes': ['genius', 'billionaire', 'playboy', 'philanthropist']}

def write_json(data, filename='file.json'): 
    # function to add to JSON 
    with open(filename,'w') as f: 
        json.dump(data, f, indent=4) 

with open('file.json') as json_file: 
    data = json.load(json_file) 
    data['marvel'].append(dictionary) # appending data to Marvel 

write_json(data) 

Отредактировано в соответствии с наблюдением juanpa.arrivillaga

...