Escribir una lista en un archivo con Python
¿Es ésta la forma más limpia de escribir una lista en un archivo, ya que writelines()
no inserta caracteres de nueva línea?
file.writelines(["%s\n" % item for item in list])
Parece que habría una forma estándar...
593
3
Puedes utilizar un bucle:
En Python 2, también puedes usar
Si quieres hacer una sola llamada a la función, al menos quita los corchetes
[]
, para que las cadenas a imprimir se hagan de una en una (un genexp en lugar de un listcomp) -- no hay razón para ocupar toda la memoria necesaria para materializar toda la lista de cadenas.¿Qué va a hacer con el archivo? ¿Existe este archivo para los humanos, u otros programas con claros requisitos de interoperabilidad?
Si sólo estás tratando de serializar una lista en el disco para su posterior uso por la misma aplicación de python, deberías estar pickleando la lista.
Para leerla de nuevo:
La forma más sencilla es:
``lang-python outfile.write("|n".join(itemlist))
Recuerda que toda la lista de
itemlist
debe estar en memoria, así que ten cuidado con el consumo de memoria.