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