Advertisement
teslariu

buscar_archivoa

Nov 8th, 2021
602
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script que busca archivos de un tipo determinado en un directorio en
  6. forma recursiva (python buscar_archivos.py <ruta> <extension>). Indica
  7. también la cantidad total de archivos hallados
  8.  
  9. Ej:
  10. >>> python buscar_archivos.py C:\\Users\\Usuario\\Desktop pdf
  11. >>> saludo.pdf
  12. >>> notas.pdf
  13. >>> saldos.pdf
  14. >>> .....
  15. >>> Total: 143 archivos
  16. """
  17.  
  18. import os
  19. import sys
  20. total = 0
  21.  
  22.  
  23. # verifico la cantidad de argumentos
  24. if len(sys.argv) != 3:
  25.     sys.exit("Error: ejecute 'python buscar_archivos.py <ruta> <extension>'")
  26.    
  27. # asigno los argumentos
  28. ruta, extension = sys.argv[1:]
  29.  
  30. # verifico que exista la ruta
  31. if not os.path.exists(ruta):
  32.     sys.exit(f"Error: no existe la ruta {ruta}")
  33.  
  34. # busco en forma recursiva los archivos con os.walk()
  35. # os.walk itera y devuelve 3 valores en cada iteración
  36. # 1. el nombre de la carpeta actual
  37. # 2. una lista con las subcarpetas dentro de la carpeta actual
  38. # 3. una lista con los archivos dentro de la carpeta actual
  39. for carpeta_actual, lista_subcarpetas, lista_archivos in os.walk(ruta):
  40.     for archivo in lista_archivos:
  41.         if archivo.endswith(extension):
  42.             print(os.path.join(carpeta_actual,archivo))
  43.             total += 1
  44.            
  45. if total:
  46.     print(f"\nTotal de archivos hallados: {total}")
  47. else:
  48.     print(f"No se hallaron archivos '{extension}' en {ruta}")
  49.            
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement