Un diccionario en Python es una colección donde cada valor se asigna a una clave. No están ordenados, son mutables y no hay restricciones en el tipo de datos de valores y claves almacenados en el diccionario. Esto dificulta que los diccionarios se almacenen como archivos. Conozca más sobre los diccionarios aquí .
Sintaxis:
dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'}
Guardar diccionario en un archivo
Hay dos enfoques principales para guardar diccionarios en archivos usando Python.
1. Archivos de texto
La forma más básica de guardar diccionarios en Python sería almacenarlos como strings en archivos de texto. Este método incluiría los siguientes pasos:
- Abrir un archivo en modo escribir/añadir texto
- Convertir el diccionario en una string
- Ingresar la string convertida en el archivo usando la función de escritura
filehandler = open(filename, 'wt') data = str(dictionary) filehander.write(data)
La lectura del diccionario desde los archivos de texto almacenados es engorrosa y este método solo debe usarse para programas más pequeños y no críticos.
2. Módulo de encurtidos (recomendado)
El módulo pickle en Python se usa principalmente en campos como la ciencia de datos, donde la persistencia de los datos es crítica. El módulo pickle almacena los datos dados como una secuencia de bytes serializados en archivos que se pueden recuperar fácilmente en un momento posterior. El módulo Pickle admite varios objetos de Python y los diccionarios son uno de ellos. Este método incluiría los siguientes pasos:
- Importando el módulo pickle
- Abrir el archivo en modo binario de escritura/añadir
- Ingresando los datos en el archivo usando el método de volcado del módulo pickle
filehandler = open(filename, 'wb') pickle.dump(dictionary, filehandler)
A continuación se muestra la implementación de los métodos anteriores.
Ejemplo 1: escribir en un archivo de texto
Python3
dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'} try: geeky_file = open('geekyfile.txt', 'wt') geeky_file.write(str(dictionary)) geeky_file.close() except: print("Unable to write to file")
Producción:
Ejemplo 2: Agregar a un archivo de texto
Python3
dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'} try: geeky_file = open('geekyfile.txt', 'a') geeky_file.write(str(dictionary)) geeky_file.close() except: print("Unable to append to file")
Producción:
Ejemplo 3: Escritura usando el Módulo Pickle
Python3
import pickle dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'} try: geeky_file = open('geekyfile', 'wb') pickle.dump(dictionary, geeky_file) geeky_file.close() except: print("Something went wrong")
Nota: Como el módulo pickle almacena datos en forma binaria, los humanos no pueden leer los datos en el archivo.