Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits
Guardar y recuperar objetos desde fichero con Python

En este tutorial guardaremos objetos de Python a fichero y los recuperaremos.

Python

Requisitos:

Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo.

Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción:

sudo snap install pycharm-community --classic

La biblioteca Pickle:

En este tutorial usaremos la librería Pickle para guardar y recuperar los objetos desde Python, lo que se suele llamar serialización de objetos.

Guardar objetos a fichero:

Para este tutorial usaremos la clase vehículo, que tiene dos atributos: nombre y velocidad.

class Vehiculo:

  def __init__(self, nombre, velocidad):
      self.nombre = nombre
      self.movimiento = velocidad

  def descripcion(self):
      d = "Nombre de vehículo: {}, velocidad: {}."
      print(d.format(self.nombre, self.movimiento))

En el programa crearemos dos objetos de la clase vehículo:

  #creamos un vehículo de nombre coche:
  v1 = Vehiculo("coche", 90)
  # creamos un vehículo de nombre velero:
  v2 = Vehiculo("velero", 30)
  #Mostramos la descripción de los vehículos:
  v1.descripcion()
  v2.descripcion()

Ahora abrimos un fichero llamado vehiculos.pickle para escritura en binario y usaremos el método dump de Pickle para guardar los objetos en dicho fichero.

  with open("vehiculos.pickle","wb") as fichero:
      pickle.dump(v1,fichero)
      pickle.dump(v2, fichero)

El fichero tendrá un aspecto similar a este en Pycharm:

€c__main__
Vehiculo
q )q}q(X   nombreqX   cocheqX
   movimientoqKZub.€c__main__
Vehiculo
q )q}q(X   nombreqX   veleroqX
   movimientoqKub.

Recuperar objetos de fichero:

Para recuperar la información usamos el método load de Pickle, para ello abrimos el fihcero como lectura en binario, y guardamos en variables nuevas los objetos cargados.

  with open("vehiculos.pickle","rb") as fichero:
      v3 = pickle.load(fichero)
      v4 = pickle.load(fichero)
  v3.descripcion()
  v4.descripcion()

De esta manera ponemos guardar objetos en un fichero y recuperarlos.

IMPORTANTE: La información guardada no estará encriptada.

Recuperar objetos de fichero usando un bucle:

Lo más normal es que queramos recuperar todos los objetos de un fichero y que no sepamos cuántos objetos hay guardados en él.

Para hacerlo haremos un bucle que extraiga todos los ficheros y, gracias a la excepción de final de fichero EOFException, controlaremos la salida del bucle.

El siguiente código recupera los objetos vehículo del fichero y los guarda en una matriz de objetos vehículo llamada listaVehiculos, al finalizar recorremos el bucle para mostrar los datos de todos los objetos.

    listaVehiculos = []
    with open("vehiculos.pickle","rb") as fichero:
        try:
            while True:
              listaVehiculos.append(pickle.load(fichero))
        except EOFError:
            pass

    for v in listaVehiculos:
        v.descripcion()

Manipular ficheros XML con Python

En este tutorial vamos a utilizar Python para leer, escribir y manipular datos de ficheros XML.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic Manipular XML con Python: En este tutorial usaremos el módulo ElementTree de Python, del cual podemos consultar la documentación aquí. Cargar los datos XML: Con ElementTree podemos...

Leer más...
Uso de ficheros con Python

En este tutorial vamos a utilizar Python para manipular ficheros.

Requisitos: Para esta práctica utilizaremos la versión Community del framework de Python Pycharm, el cual podéis instalar desde su web. Usaremos un equipo con Ubuntu 22.04 LTS y Python3.10, pero servirá cualquier equipo con Python 3. Proyecto de Pycharm: Una de las ventajas de Pycharm es que ya crea entorno virtual para nuestros proyectos, crearemos un proyecto nuevo y asignaremos el intérprete Python3 que tengamos instalado. Uso de ficheros...

Leer más...
Conectar con una base de datos PostgreSQL desde Python

En este tutorial vamos a utilizar Python para conectar con una base de datos PostgreSQL.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic También necesitaremos la librería Psycopg2 de Python para conectar con la BBDD, la cual instalaremos en el siguiente paso. Crear proyecto en Pycharm: Al arrancar Pycharm...

Leer más...
Clases en Python

En este tutorial vamos a ver cómo crear clases en Python y trabajar con instancias de las mismas, además de usar herencia y herencia múltiple.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic Crear proyecto en Pycharm: Al arrancar Pycharm podemos crear un nuevo proyecto, el programa nos dejará escoger el nombre del proyecto y el directorio donde estarán...

Leer más...
Bot de Telegram para descargar música de Youtube usando PyTube

En este tutorial crearemos un pequeño bot de Telegram que usando el módulo PyTube descargará audio de la plataforma Youtube a nuestro Telegram.

Requisitos: Para realizar esta práctica necesitamos un ordenador con Python instalado y tener creado un bot de Telegram, tienes un tutorial para crear un bot aquí. El módulo Pytube: Es un módulo creado por Ronnie Ghose que puedes encontrar en su Github y que permite descargar audio y vídeo directamente de Youtube. 1.-Dependencias: Antes de comenzar debermos instalar las librerías necesarias para el proyecto, usaremos pip. Si no tienes instalado pip lo...

Leer más...
Utilización del módulo Turtle de Python

En este tutorial usaremos el módulo Turtle de Python para dibujar formas.

Requisitos: Para realizar esta práctica necesitamos un ordenador con Python instalado o un navegador. Usar Python online: Aunque se puede utilizar el ordenador local para la programación en Python, si no disponemos de un equipo con Python podemos utilizar un navegador y registrarnos en Replit. El módulo Turtle: Turtle es un módulo de Python que emula el comportamiento de las instrucciones de dibujo del lenguaje LOGO. Estas instrucciones sirven para realizar dibujos...

Leer más...
Creación de un bot para Telegram en Python para jugar a Heroquest - Parte 2.

Segunda parte de la creación de un bot para jugar a Heroquest por Telegram. Cómo controlar el mazo de cartas de tesoro.

Requisitos: Este tutorial es la segunda parte del Tutorial para crear un bot de Telegram para jugar a Heroquest. Las imagenes de HeroQuest deben estar en el mismo directorio que el script o se debe cambiar la ruta dentro del mismo script de Python. ¿Cómo funcionan las cartas de tesoro en Heroquest?: En Heroquest existe un mazo de cartas de tesoro. compuesta por estas 33 cartas: 6 cartas...

Leer más...
Creación de un bot para Telegram en Python para jugar a Heroquest - Parte 1.

Todos los pasos necesarios para crear un bot de Telegram utilizando Python.

Hacer un bot de Telegram en Python: En este tutorial verás todos los pasos necesarios para crear un bot de Telegram usando el lenguaje de programación Python. El objetivo del bot será realizar tiradas de dados, realizando tiradas aleatorias de dados de 6 caras. Después se ampliará la funcionalidad del bot haciendo que tiré dados del juego de mesa HeroQuest y gestione el mazo de cartas de tesoro del...

Leer más...