"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo usar `os.walk()` para crear una lista de directorio estructurada con indicadores de profundidad en Python?

¿Cómo puedo usar `os.walk()` para crear una lista de directorio estructurada con indicadores de profundidad en Python?

Publicado el 2024-11-09
Navegar:255

How can I use `os.walk()` to create a structured directory listing with depth indicators in Python?

Navegación por directorios de forma recursiva con os.walk() en Python

Buscando crear listados de directorios más estructurados, un desarrollador intentó modificar su código para mostrar directorios como títulos en mayúscula con líneas discontinuas que indican la profundidad y los archivos debajo de ellos. Sin embargo, su enfoque inicial arrojó resultados incompletos.

Para abordar este desafío, podemos utilizar el atributo os.sep de Python para delinear los componentes de la ruta correctamente. Aquí hay una solución mejorada:

#!/usr/bin/python
import os

# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
    path = root.split(os.sep)
    print((len(path) - 1) * '---', os.path.basename(root))
    for file in files:
        print(len(path) * '---', file)

En este código revisado, dividimos la ruta usando os.sep como delimitador, que se adapta a los sistemas de archivos Windows y Unix. Restando 1 de la longitud del camino, podemos obtener la profundidad del nivel actual y mostrar el número apropiado de líneas discontinuas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3