#python #json #list #file #append
#python #json #Список #файл #добавить
Вопрос:
У меня следующая проблема:
def guardar_datos_en_json(dato, nombre_archivo):
try:
with open(nombre_archivo, "a") as contenedor:
json.dump(dato, contenedor)
except:
raise
def cargar_datos_de_json(nombre_archivo):
lista = []
with open(nombre_archivo,"r") as contenedor:
for linea in contenedor:
lista.append(linea)
linea = json.dumps(linea)
return lista
Эта функция возвращает список, основанный на файле json, проблема в том, что когда я выполняю его тесты, вместо возврата списка он возвращает список с одной строкой.
Если, например, я сохраню числа 1 и 2 в файле json, когда я использую функцию cargar_datos_de_json, она вернет [’12’] вместо [1, 2], кто-нибудь знает почему? Спасибо!
Комментарии:
1. Вы пытались проверить, что содержимое файла json выглядит так, как вы ожидаете?
2. какова ваша дата
3. Проверьте мой ответ
Ответ №1:
Когда вы создаете список с помощью json.dump, он будет выглядеть следующим образом
import json
list = [1, 2]
json.dumps(list) # '[1, 2]'
Я думаю, вам нужно сделать следующее
import ast
def cargar_datos_de_json(nombre_archivo):
with open(nombre_archivo,"r") as contenedor:
lista = ast.literal_eval(contenedor)
return lista