Persistencia de datos sobre insectos - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para crear una nueva versión del ejercicio "insectos", que debe persistir los datos utilizando alguna forma de almacenamiento, como una base de datos o un sistema de archivos. Este ejercicio es perfecto para practicar el manejo de archivos, el almacenamiento de datos y la gestión de bases de datos en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, almacenamiento de datos y gestión de bases de datos en Python. Este ejercicio no solo refuerza tu comprensión del manejo de archivos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con el manejo de archivos, el almacenamiento de datos y la gestión de bases de datos, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Técnicas de persistencia de objetos

 Ejercicio

Persistencia De Datos Sobre Insectos

 Objectivo

Desarrollar un programa Python para crear una nueva versión del ejercicio "insectos", que debería conservar los datos utilizando alguna forma de almacenamiento, como una base de datos o un sistema de archivos.

 Ejemplo de ejercicio de Python

 Copiar código Python
import pickle

class Insect:
    """Represents an insect with a name and number of legs."""

    def __init__(self, name, legs):
        """Initialize the insect with a name and number of legs."""
        self.name = name
        self.legs = legs

    def show_data(self):
        """Display the insect's data."""
        print(f"Name: {self.name}, Legs: {self.legs}")


class InsectManager:
    """Manages a collection of insects and handles persistence."""

    def __init__(self, filename):
        """Initialize the manager with a file for persistence."""
        self.filename = filename
        self.insects = []

    def add_insect(self, insect):
        """Add a new insect to the collection."""
        self.insects.append(insect)

    def show_all_insects(self):
        """Display all insects in the collection."""
        if not self.insects:
            print("No insects available.")
        else:
            for i, insect in enumerate(self.insects, start=1):
                print(f"Insect {i}:")
                insect.show_data()

    def save_to_file(self):
        """Persist the collection of insects to a file."""
        try:
            with open(self.filename, 'wb') as file:
                pickle.dump(self.insects, file)
            print(f"Data successfully saved to {self.filename}.")
        except Exception as e:
            print(f"Error while saving data: {e}")

    def load_from_file(self):
        """Load the collection of insects from a file."""
        try:
            with open(self.filename, 'rb') as file:
                self.insects = pickle.load(file)
            print(f"Data successfully loaded from {self.filename}.")
        except FileNotFoundError:
            print(f"No data file found. Starting with an empty collection.")
        except Exception as e:
            print(f"Error while loading data: {e}")


# Test Program
if __name__ == "__main__":
    # File to persist insect data
    data_file = "insects_data.bin"

    # Create an instance of the InsectManager
    manager = InsectManager(data_file)

    # Load existing data from the file
    print("Loading data from file...")
    manager.load_from_file()

    # Add new insects
    print("\nAdding new insects...")
    manager.add_insect(Insect("Ant", 6))
    manager.add_insect(Insect("Spider", 8))
    manager.add_insect(Insect("Centipede", 100))

    # Display all insects
    print("\nCurrent insects in collection:")
    manager.show_all_insects()

    # Save data to the file
    print("\nSaving data to file...")
    manager.save_to_file()

    # Clear the current collection
    print("\nClearing current collection...")
    manager.insects = []

    # Display after clearing
    print("\nInsects after clearing:")
    manager.show_all_insects()

    # Reload data from the file
    print("\nReloading data from file...")
    manager.load_from_file()

    # Display reloaded data
    print("\nInsects after reloading:")
    manager.show_all_insects()

 Output

Saving data to file...

Clearing current collection...

Insects after clearing:
No insects available.

Reloading data from file...

Insects after reloading:
Insect 1:
Name: Ant, Legs: 6
Insect 2:
Name: Spider, Legs: 8
Insect 3:
Name: Centipede, Legs: 100

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Técnicas de persistencia de objetos

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Persistencia de datos de ciudadades

    En este ejercicio, desarrollarás un programa en Python para crear una nueva versión de la "base de datos de ciudades", utilizando persistencia para almacenar sus dato...

  •  Gestión de tablas, matrices y archivos

    En este ejercicio, desarrollarás un programa en Python para expandir el ejercicio de tablas + array, de modo que incluya dos nuevos métodos: volcar los datos del arra...

  •  Recopilación de tablas y gestión de archivos

    En este ejercicio, desarrollarás un programa en Python para expandir el ejercicio (tablas + array + archivos) creando tres clases: Table, SetOfTables y un programa de...