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]