teslariu

busqueda recursiva os.walk

May 23rd, 2023
1,140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Hacer un script que busque en forma recursiva en un directorio todos
  6. los archivos con una determinada extensión
  7. >>> python buscar_archivos.py <carpeta> <extension>
  8. >>> EJ:
  9. >>> python buscar_archivos.py C:/Users  .xlsx
  10. """
  11. import os
  12. import sys
  13.  
  14. # variable para contar cuantos archivos encuentro
  15. hallados = 0
  16.  
  17. # verifico la cantidad de argumentos
  18. if len(sys.argv) != 3:
  19.     sys.exit("Error: debe ejecutar 'python buscar_archivos.py <carpeta> <extension>")
  20.  
  21. # asigno los parámetros
  22. ruta, extension = sys.argv[1:]
  23.  
  24. # verifico si la ruta existe
  25. if not os.path.exists(ruta):
  26.     sys.exit(f"Error: no existe la ruta '{ruta}'")
  27.    
  28. # Busco los archivos en forma recursiva
  29. # os.walk() devuelve 3 valores:
  30. # el nombre de la carpeta actual
  31. # una lista de carpetas dentro de la carpeta actual
  32. # una lista de archivos dentro de la carpeta actual
  33. for carpeta_actual,lista_carpetas,lista_archivos in os.walk(ruta):
  34.     for archivo in lista_archivos:
  35.         if archivo.endswith(extension):
  36.             print(os.path.join(carpeta_actual,archivo))
  37.             hallados += 1
  38.            
  39. if not hallados:
  40.     print(f"No se encontraron archivos con extensión '{extension}' en la ruta '{ruta}'")
  41. else:
  42.     print(f"\nTotal de archivos hallados: {hallados}")
  43.    
Advertisement
Add Comment
Please, Sign In to add comment