Explorando un directorio - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python que explore un directorio especificado y liste todo su contenido, incluidos archivos y subdirectorios. Este ejercicio es perfecto para practicar el manejo de archivos, la navegación por directorios y el manejo de errores en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, la navegación por directorios y el manejo de errores 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, la navegación por directorios y el manejo de errores, 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

Uso de bibliotecas adicionales

 Ejercicio

Explorando Un Directorio

 Objectivo

Desarrollar un programa Python que explore un directorio específico y enumere todo su contenido, incluidos los archivos y subdirectorios. El programa debe mostrar los nombres de los archivos y directorios, así como detalles adicionales como el tamaño del archivo, el tipo y la fecha de creación. Implementar el manejo de errores para rutas de directorio no válidas y directorios inaccesibles.

 Ejemplo de ejercicio de Python

 Copiar código Python
import os
import time

def get_file_info(file_path):
    """Get details like size, type, and creation date for a given file."""
    try:
        file_size = os.path.getsize(file_path)  # File size in bytes
        file_creation_time = os.path.getctime(file_path)  # File creation time (epoch)
        file_type = "Directory" if os.path.isdir(file_path) else "File"
        file_creation_date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(file_creation_time))

        return file_size, file_type, file_creation_date
    except Exception as e:
        print(f"Error retrieving information for {file_path}: {e}")
        return None, None, None

def explore_directory(directory_path):
    """Explore the specified directory and list its contents."""
    if not os.path.exists(directory_path):
        print(f"Error: The directory '{directory_path}' does not exist.")
        return
    
    if not os.path.isdir(directory_path):
        print(f"Error: '{directory_path}' is not a valid directory.")
        return
    
    print(f"Exploring directory: {directory_path}\n")
    try:
        # List the files and directories
        for root, dirs, files in os.walk(directory_path):
            # Print the details for subdirectories
            for directory in dirs:
                dir_path = os.path.join(root, directory)
                file_size, file_type, file_creation_date = get_file_info(dir_path)
                print(f"Directory: {directory}")
                print(f"  Path: {dir_path}")
                print(f"  Size: {file_size} bytes")
                print(f"  Type: {file_type}")
                print(f"  Created on: {file_creation_date}\n")
            
            # Print the details for files
            for file in files:
                file_path = os.path.join(root, file)
                file_size, file_type, file_creation_date = get_file_info(file_path)
                print(f"File: {file}")
                print(f"  Path: {file_path}")
                print(f"  Size: {file_size} bytes")
                print(f"  Type: {file_type}")
                print(f"  Created on: {file_creation_date}\n")
                
    except PermissionError:
        print(f"Error: Permission denied while accessing '{directory_path}'")
    except Exception as e:
        print(f"Unexpected error: {e}")

def main():
    """Main function to initiate the directory exploration."""
    directory_path = input("Enter the directory path to explore: ").strip()
    explore_directory(directory_path)

if __name__ == '__main__':
    main()

 Output

Enter the directory path to explore: /home/user/Documents

Exploring directory: /home/user/Documents

Directory: SubFolder1
  Path: /home/user/Documents/SubFolder1
  Size: 4096 bytes
  Type: Directory
  Created on: 2024-01-15 10:35:12

File: example_file.txt
  Path: /home/user/Documents/example_file.txt
  Size: 2048 bytes
  Type: File
  Created on: 2023-12-01 14:22:45

File: image.jpg
  Path: /home/user/Documents/image.jpg
  Size: 102400 bytes
  Type: File
  Created on: 2023-11-18 08:11:30

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Uso de bibliotecas adicionales

¡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.

  •  Explorando Subdirectorios

    En este ejercicio, desarrollarás un programa en Python que explore un directorio especificado y liste todos los subdirectorios dentro de él. Este ejercicio es ...

  •  Trabajar con fecha y hora

    En este ejercicio, desarrollarás un programa en Python que trabaje con fechas y horas. Este ejercicio es perfecto para practicar la manipulación de fechas y ho...

  •  Mostrar contenidos del directorio

    En este ejercicio, desarrollarás un programa en Python que muestre el contenido de un directorio especificado. Este ejercicio es perfecto para practicar el man...

  •  Listado de archivos ejecutables en un directorio

    En este ejercicio, desarrollarás un programa en Python que liste todos los archivos ejecutables en un directorio especificado. Este ejercicio es perfecto para ...

  •  Fecha y hora continuas

    En este ejercicio, desarrollarás un programa en Python que muestre continuamente la fecha y hora actuales en tiempo real. Este ejercicio es perfecto para pract...

  •  Generador de mapas del sitio

    En este ejercicio, desarrollarás un programa en Python que genere un mapa del sitio para un sitio web. Este ejercicio es perfecto para practicar el rastreo web...