write read files escribir dict creating python json append newline dump

read - Python JSON descarga/agrega a.txt con cada variable en la nueva línea



write in json python (1)

Mi código crea un diccionario, que luego se almacena en una variable. Quiero escribir cada diccionario en un archivo JSON, pero quiero que cada diccionario esté en una nueva línea.

Mi diccionario:

hostDict = {"key1": "val1", "key2": "val2", "key3": {"sub_key1": "sub_val2", "sub_key2": "sub_val2", "sub_key3": "sub_val3"}, "key4": "val4"}

Parte de mi código:

g = open(''data.txt'', ''a'') with g as outfile: json.dump(hostDict, outfile)

Esto agrega cada diccionario a ''data.txt'', pero lo hace en línea. Quiero que cada entrada de diccionario esté en una nueva línea. Cualquier consejo sería apreciado.


Tu pregunta es un poco confusa Si está generando hostDict en un bucle:

with open(''data.txt'', ''a'') as outfile: for hostDict in ....: json.dump(hostDict, outfile) outfile.write(''/n'')

Si quiere decir que quiere que cada variable dentro de hostDict esté en una nueva línea:

with open(''data.txt'', ''a'') as outfile: json.dump(hostDict, outfile, indent=2)

Cuando se establece el argumento de palabra clave de indent , agrega automáticamente nuevas líneas.