Lectura recursiva del contenido de la carpeta en Python
En Python, puede encontrar problemas al intentar recorrer directorios de forma recursiva para leer archivos de texto. Un problema común es el código que funciona solo para un único nivel de directorio.
Comprensión de la función os.walk
El núcleo del recorrido recursivo de carpetas en Python reside en el sistema operativo. Función .walk(). Itera sobre un directorio específico y sus subdirectorios, devolviendo tres valores: raíz, subdirectorios y archivos.
Optimización del recorrido de carpetas
Para recorrer directorios de forma recursiva, debe recorrer la lista de subdirectorios devueltos por os.walk(). Para cada subdirectorio, puede llamar a os.walk() de forma recursiva para procesar su contenido.
Código Python mejorado
El código de ejemplo se puede modificar para manejar múltiples directorios niveles:
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
Mejores prácticas adicionales
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