Ejercicio de programación con Python: Reto archivos

Proyecto
Práctica
1h 30m

Desarrolla un gestor de archivos en Python con funciones CRUD, búsqueda, estadísticas y manejo de excepciones para un control completo.

  1. Crea un nuevo archivo Python llamado gestor_archivos.py que contendrá todas las funcionalidades del gestor de archivos.

  2. Implementa las siguientes funciones básicas para operaciones CRUD:

  • crear_archivo(nombre, contenido=""): crea un nuevo archivo con el nombre especificado y el contenido inicial opcional.
  • leer_archivo(nombre): lee y devuelve el contenido de un archivo existente.
  • actualizar_archivo(nombre, nuevo_contenido, modo="w"): actualiza el contenido de un archivo existente. El parámetro modo permite elegir entre sobrescribir (w) o añadir (a).
  • eliminar_archivo(nombre): elimina un archivo del sistema.
  1. Desarrolla funciones adicionales para análisis de archivos:
  • buscar_archivos(directorio, patron): busca archivos que coincidan con un patrón (nombre o extensión) en el directorio especificado.
  • estadisticas_archivo(nombre): analiza un archivo y devuelve un diccionario con el número de líneas, palabras y caracteres.
  1. Implementa un sistema robusto de manejo de excepciones para cada función, capturando y manejando adecuadamente errores como:
  • Archivo no encontrado
  • Permisos insuficientes
  • Directorio no existente
  • Errores de E/S
  1. Crea una función validar_nombre_archivo(nombre) que compruebe si un nombre de archivo es válido según las reglas del sistema operativo.

  2. Desarrolla un menú interactivo por consola utilizando un bucle while que muestre las opciones disponibles y permita al usuario seleccionar la operación deseada.

  3. Implementa una función main() que inicie el programa y gestione el flujo de ejecución.

  4. Añade docstrings a todas las funciones siguiendo el estándar PEP 257, explicando el propósito, parámetros y valores de retorno de cada función.

  5. Asegúrate de que tu programa maneje correctamente las rutas de archivos tanto relativas como absolutas.

  6. Prueba todas las funcionalidades con diferentes casos de uso para verificar su correcto funcionamiento.

Empezar ejercicio de programación

Más ejercicios de programación con Python

Evalúa tus conocimientos en Python con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub