Pithon Pickle Dump

Pithon Pickle Dump
Python Pickle es una herramienta que puede serializar y deserializar la estructura de un objeto Python. El encurtidor permite que cualquier objeto en Python se guarde en un disco, y el encurtimiento se puede hacer con cualquier objeto. Los datos serán procesados ​​primero por Python Pickle, y luego se transformará en un flujo de caracteres. El objeto se convertirá de tal manera que la secuencia de caracteres tenga la información requerida para volver a montar el objeto en otro script de Python. Según la documentación, debe tenerse en cuenta que el módulo de encurtido no proporciona seguridad contra los datos que se han producido deliberadamente o inadvertidamente. Por lo tanto, nunca debe descartar datos que se hayan obtenido de una fuente en la que no se puede confiar o que no se haya validado.

La siguiente sección nos enseñará cómo almacenar datos utilizando el formato de encurtido de Python. Primero debemos importar el módulo de encurtido para hacer esta tarea. Los datos del objeto se pueden guardar en el archivo implementando el pickle.método dump ().

Sintaxis

El pepinillo.El método dump () acepta dos parámetros. El objeto que tiene la intención de guardar se envía como el primer parámetro. La segunda declaración es la entidad del directorio que recibe después de acceder al archivo especificado en modo de escritura (WB).

Ejemplo 01: Insertar múltiples líneas de datos en un archivo de encurtido utilizando la función de volcado de Pickle

En este ejemplo, vamos a ver un ejemplo simple en el que usaremos un pepinillo.método dump () a un archivo. El primer paso es importar el módulo de encurtido en Python para usar sus métodos. En la siguiente línea, se utiliza un mensaje de entrada para pedirle al usuario que ingrese el número de dígitos que el usuario desea ingresar. Se almacena en la variable "NUM". Una lista vacía también se inicializa como "datos". Entonces se ejecuta un bucle for para el número de tiempos de datos. En cada bucle, el programa le pide al usuario que ingrese los datos. Estos datos se adjuntan a la lista de "datos".

Cuando se adhieren todos los datos y termina el bucle, se abre un archivo en modo de escritura-binaria (WB) y se almacena en la variable "archivo". En la siguiente línea, Pickle.El método dump () se implementa en el archivo dado con los "datos". Finalmente, el archivo está cerrado.

En el terminal de salida, podemos ver las indicaciones de entrada que el programa le pidió al usuario que ingrese. En este ejemplo, la cantidad de datos fue 2. Uno era el número 12 y el otro era el número 15. Si abrimos el archivo, podríamos ver que los datos están escritos en ese archivo.

Podemos ver tres archivos para el siguiente programa. Uno es el archivo en el que se escribe el código. El archivo principal es donde se ejecuta el código. El archivo "Info" es el archivo binario creado por Pickle.dUd () en el que arrojamos los datos.

Ahora, veremos cómo podemos recuperar los datos de Pickle. Para recuperar los datos de Pickle, debe usar el pepinillo.Método Load (). Al ver un archivo en modo de lectura-binaria (RB), se puede acceder al contenido del directorio.

Como el pepinillo.Load () también es un método del módulo de encurtido, debemos importar este módulo primero para usarlo. En la siguiente línea, el archivo "Info" se abre en modo RB. Entonces el pepinillo.El método de carga () se llama en el objeto de archivo y los datos se almacenan en la variable llamada "datos". Luego, A For Loop se atraviesa a través de los datos para imprimir los datos en el terminal de salida, como se muestra en la siguiente captura de pantalla:

Ejemplo 02: Insertar múltiples listas de datos en un archivo de Pickle utilizando la función de volcado de Pickle

A continuación se muestra otra muestra de encurtir y desactivar datos:

En el código anterior, se crean dos diccionarios para dos personas, a saber, John y Logan, con sus respectivos nombres y edad. El diccionario "list1" contiene los atributos de ambas personas. Luego se abre el archivo "Información" en el modo Append (AB). Pepinillo.dump () se aplica al objeto de archivo que agrega el diccionario/datos "list1". Finalmente, el archivo está cerrado.

En el código anterior, usaremos el pepinillo.Método Load () para descargar los datos que acabamos de encurtir en el archivo "Info". El archivo se abre en modo RB y Pickle.El método de carga () se aplica al objeto de archivo. Los datos devueltos se almacenan en la variable llamada "List1". El bucle for luego se usa para mostrar todo el contenido de "list1" en los terminales secundarios, como se ve en la siguiente imagen:

Ejemplo 03: Insertar múltiples listas de datos sin un archivo de pepinillo utilizando la función de volcado de pickle y luego cargarlo en la consola

Ahora, veamos varios ejemplos de encurtir y desenterrar datos sin usar un archivo. Además, esta vez usaremos Pickle.volcados () y pepinillo.Métodos de carga (). La única diferencia es que el último método crea y lee el archivo que contiene el resultado de la serialización, mientras que el método dumps () y loads () funciona en una cadena en lugar de un archivo y devuelve una cadena.

En el código anterior, se crean dos diccionarios diferentes que contienen detalles respectivos sobre John y Logan. Luego se crea un diccionario primario "List1" y se agregan estos dos diccionarios separados. En la siguiente línea, el pepinillo .El método dumps () se usa para descargar los datos como una cadena en el nuevo objeto, "A". En la siguiente línea, los datos vertidos se incorporan usando un pepinillo.Método de carga () y almacena los datos en una nueva variable, "Entrada". La pestaña Resultado luego presenta los datos no molestados como se ven en la imagen debajo.

Ejemplo 04: Insertar datos en un archivo de encurtido utilizando la estructura de clases para pasar datos a la función de volcado de Pickle

En este ejemplo, utilizaremos clases para comprender el funcionamiento de los métodos de Pickle y No -. En el siguiente código, una clase llamada "DataList", se crea con una función load_data (). Un entero y una cadena se definen en objetos, "A" y "B" respectivamente. Luego, fuera de la clase, se crea un objeto de DataList () con el nombre "OBJ", que contiene los datos. Luego, este objeto se encurra y almacena en una nueva variable "datos" con Pickle.método dumps (). Para descargar los datos, Pickle.El método de carga () se implementa en "datos".

Finalmente, los datos devueltos de Pickle.Loads () se muestra en el terminal de salida en forma del diccionario, como se muestra en la siguiente captura de pantalla:

Ejemplo 05: Insertar una cadena larga en un archivo de encurtido utilizando la función de compresa junto con la función de volcado de Pickle

El siguiente caso demostrará cómo comprimir elementos en escabeche. Puede usar el módulo BZ2 de la biblioteca de Python estándar para comprimir una cadena en escabeche con BZIP2.

En este código, los datos de tipo de primera cadena se inicializan y almacenan en una variable llamada "Datos". En la siguiente línea, estos datos se encurten con un encurtido. volcado () al objeto llamado "volcado". Entonces este objeto se comprime usando el BZ2.Método de compress () y almacenado en el objeto "dump2". Aquí, "Dump" contiene los datos no comprimidos de la cadena mientras el objeto "dump2" contiene los datos comprimidos. Podemos probar esto encontrando la longitud de ambos objetos usando el comando Len ().

Conclusión

Espero que a través de este tutorial, ahora comprenda cómo usar el módulo de encurtido de Python para convertir una jerarquía de objetos en un flujo de bytes que se pueden almacenar a disco o enviar a través de una red, así como el método de deserialización de Python. Ahora estás bien equipado para persistir objetos usando el paquete Python Pickle.