HOWTO · Python

Cómo escribir una lista en un archivo con Python

Este tutorial aclara cómo escribir una lista en un archivo en Python.

En esta página

Este tutorial explica cómo escribir una lista a un archivo en Python. Dado que existen múltiples formas de escribir una lista en un archivo, el tutorial también enumera varios códigos de ejemplo para explicarlos con más detalle.

Usar un bucle para escribir una lista a un archivo en Python

Usar un bucle para escribir una lista en un archivo es un enfoque muy trivial y el más utilizado. Se usa un bucle para iterar sobre los elementos de la lista, y el método write() se usa para escribir elementos de la lista en el archivo.

Utilizamos el método open() para abrir el archivo de destino. El modo de abrir el archivo será w que significa write.

A continuación se muestra un código de ejemplo:

listitems = ["ab", "cd", "2", "6"]

with open("abc.txt", "w") as temp_file:
    for item in listitems:
        temp_file.write("%s\n" % item)
file = open("abc.txt", "r")
print(file.read())

Resultado:

{'6','2', 'ab', 'cd'}

Para Python 2.x, también se utiliza el siguiente enfoque:

listitems = ["ab", "cd", "2", "6"]

with open("xyz.txt", "w") as temp_file:
    for item in listitems:
        print >> temp_file, item

Ambos códigos resultarán en la escritura de una lista en un archivo con Python.

Usa el módulo Pickle para escribir una lista a un archivo en Python

El módulo Pickle de Python se utiliza para serializar o des-serializar una estructura de objetos Python. Si quieres serializar una lista para usarla más tarde en el mismo archivo de Python, se puede usar pickle. Como el módulo pickle implementa protocolos binarios, el archivo también se abrirá en el modo de escritura binaria - wb.

El método pickle.dump() se usa para escribir una lista en un archivo. Toma la lista y la referencia del archivo como parámetros.

Un código de ejemplo para este enfoque se da como:

import pickle

listitems = ["ab", "cd", "2", "6"]
with open("outputfile", "wb") as temp:
    pickle.dump(listitems, temp)
with open("outfile", "rb") as temp:
    items = pickle.load(temp)

print(items)

Resultado:

{'ab','cd', '6', '2'}

Use el método join() para escribir una lista a un archivo

Otro enfoque más directo para escribir una lista a un archivo en Python es usando el método join(). Toma los elementos de la lista como entrada.

A continuación se muestra un código de ejemplo para usar este método:

items = ["a", "b", "c", "d"]

with open("outputfile", "w") as opfile:
    opfile.write("\n".join(items))

Usar el módulo JSON para escribir una lista en un archivo

El uso del módulo de pickle es muy específico en Python. JSON hace que los diferentes programas sean más eficientes y fáciles de entender. El módulo JSON se usa para escribir tipos de variables mixtas en un archivo.

Utiliza el método dump() que toma una lista de elementos y referencias al archivo como entrada.

Un código de ejemplo se da como:

import json

itemlist = [21, "Tokyo", 3.4]
with open("opfile.txt", "w") as temp_op:
    json.dump(itemlist, temp_op)

print(templist)

Resultado:

[21, "Tokyo", 3.4]