Advertisement
teslariu

oswalk

Jan 22nd, 2022
1,062
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script que recibe como argumentos una ruta a una carpeta y una extensión
  6. para buscar archivos dentro de ella y mostrar una lista. Si no se pasan
  7. los argumentos, el script debe indicar el error y finalizar. Si la ruta
  8. no existe, el script debe señalarlo y terminar
  9.  
  10. Ej:
  11. >>> python buscar_archivos.py C:\\Users\\Usuario xlsx
  12. >>> muestra.xlsx
  13. >>> sample.xlsx
  14. >>>....
  15.  
  16. """
  17.  
  18. import sys
  19. import os
  20.  
  21. hallados = 0
  22.  
  23. # verifico la cantidad de argumentos
  24. if len(sys.argv) !=3:
  25.     sys.exit("Error: ejecutar como buscar_archivos.py <ruta> <extension>")
  26.    
  27. # asigno los argumentos
  28. ruta, extension = sys.argv[1:]
  29.  
  30. # verifico si existe la ruta
  31. if not os.path.exists(ruta):
  32.     sys.exit(f"Error: no existe la ruta '{ruta}'")
  33.    
  34. # busco en las carpetas dentro de la ruta
  35. # os.walk() itera en las carpetas (necesita 3 variables iteradoras)
  36. # 1. el nombre de la carpeta actual
  37. # 2. una lista de carpetas dentro de la carpeta actual
  38. # 3. una lista de archivos dentro de la carpeta actual
  39.  
  40. for carpeta_actual, lista_carpetas, lista_archivos in os.walk(ruta):
  41.     for archivo in lista_archivos:
  42.         if archivo.endswith(extension):
  43.             print(os.path.join(carpeta_actual, archivo))
  44.             hallados += 1
  45.  
  46. if not hallados:
  47.     print(f"No se hallaron archivos con extension {extension} en {ruta}")
  48. else:
  49.     print(f"Total: {hallados}")    
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement