He revisado la información que proporcionan los documentos de Python , pero todavía estoy un poco confundido. ¿Alguien podría publicar un código de muestra que escribiría un nuevo archivo y luego usar pickle para volcar un diccionario en él?
python
dictionary
pickle
Chachmu
fuente
fuente
Respuestas:
Prueba esto:
fuente
pickle.HIGHEST_PROTOCOL
?__slots__
). No digo que siempre deba usarloHIGHEST_PROTOCOL
, pero asegurarse de no usar el protocolo 0 o 1 es realmente bastante importante.pickle.HIGHEST_PROTOCOL
realmente?La ventaja de
HIGHEST_PROTOCOL
es que los archivos se hacen más pequeños. Esto hace que el desempaquetado sea a veces mucho más rápido.Aviso importante : el tamaño máximo de archivo de pickle es de aproximadamente 2 GB.
Forma alternativa
Formatos alternativos
Para su aplicación, lo siguiente puede ser importante:
Ver también: Comparación de formatos de serialización de datos.
En caso de que esté buscando una manera de crear archivos de configuración, puede leer mi breve artículo Archivos de configuración en Python
fuente
fuente
En general, el decapado
dict
fallará a menos que solo tenga objetos simples, como cadenas y enteros.Incluso un muy simple
dict
a menudo fallará. Solo depende de los contenidos.Sin embargo, si usa un mejor serializador como
dill
ocloudpickle
, entonces la mayoría de los diccionarios se pueden encurtir:O si desea guardar su
dict
en un archivo ...El último ejemplo es idéntico a cualquiera de las otras buenas respuestas publicadas aquí (que además de descuidar la capacidad de selección de los contenidos de la
dict
son buenas).fuente
normalmente es preferible usar la implementación de cPickle
fuente
Si solo desea almacenar el dict en un solo archivo, use
pickle
asíSi desea guardar y restaurar múltiples diccionarios en múltiples archivos para almacenar en caché y almacenar datos más complejos, use anycache . Hace todas las otras cosas que necesitas alrededor
pickle
Anycache almacena los diferentes
myfunc
resultados según los argumentos de los diferentes archivoscachedir
y los vuelve a cargar.Consulte la documentación para más detalles.
fuente
Manera simple de volcar datos de Python (por ejemplo, diccionario) en un archivo pickle.
fuente
fuente
Encontré el encurtido confuso (posiblemente porque soy grueso). Sin embargo, descubrí que esto funciona:
Que luego puede escribir en un archivo de texto. Dejé de intentar usar pickle porque recibía errores que me decían que escribiera enteros en un archivo .dat. Pido disculpas por no usar pepinillo.
fuente
dict
que contenga una mayor profundidad de objetos (que puede imprimirse solo con nombre) y / u objetos sin ninguna o una representación de cadena completa.