@d4c4237abc

Не могу понять как заставить работать json.load?

Хочу создать файл, в нем сохранить ключи и значения, но файл не json, a data
key = 'key_name'
value = 'key_value'
storage_path = os.path.join(tempfile.gettempdir(), 'storage.data')


with open(storage_path, 'w') as file:
         key_list = {key: [value]}
          json.dump(key_list, file)
          file.write()


Проделав операцию, все успешно создается {"key_name": ["key_value"]}. Но мне в дальнейшем нужно прочитать файл. И провести операцию по извлечению значений у ключа. Но, чтобы json.load отработал в файле , строки должны быть заключены в список [{"key_name": ["key_value"]}], как это сделать на прошлом шаге?

with open(storage_path,) as f:

        def get_value(name ):

            get_value_list = []
            for x in json.load(f):
                if x["key"] == name:
                    get_value_key = x["value"]
                    get_value_list.append(get_value_key)
                    continue
            return ', '.join(get_value_list)


Такой вариант не подходит, потому что, может потребоваться дозапись, новых пар: ключ, значение
with open(storage_path, 'w') as file:
         key_list = {key: [value]}
         file.write('[')
         json.dump(key_list, file)
         file.write(']')


Подскажите, как можно это решить?
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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