Guardar un diccionario en un archivo

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.

Publicación traducida automáticamente

Artículo escrito por z0o0p y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *