Advertisement
teslariu

buscar_archivos

Feb 18th, 2022
598
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. import sys
  6.  
  7. nombres = sys.argv[1:] # sys.argv = ["sin titulo.py", "Tito", "Cacho"]
  8.  
  9. if nombres:
  10.     for nombre in nombres:
  11.         print(f"Hola {nombre}")
  12.        
  13. else:
  14.     print("Hola, no me has dicho tu nombre")
  15. '''
  16.  
  17. # Script que recibe como argumentos una ruta a una carpeta y una extensión
  18. # de archivo y devuelve una lista con todos los archivos encontrados. La
  19. # búsqueda será recursiva
  20. # EJ: python buscar_archivos.py <ruta> <extension>
  21.  
  22.  
  23. import sys
  24. import os
  25.  
  26. # creo una variable para contar los archivos hallados
  27. hallados = 0
  28.  
  29. # verifico la cantidad de argumentos
  30. if len(sys.argv) != 3:
  31.     sys.exit("Error: debe ejecutar 'python buscar_archivos.py <ruta> <extension>'")
  32.    
  33. # asigno los parámetros
  34. ruta, extension = sys.argv[1:]
  35.  
  36. # verifico si existe la ruta
  37. if not os.path.exists(ruta):
  38.     sys.exit(f"No existe la ruta {ruta}")
  39.    
  40.    
  41. # busco los directorios dentro de la ruta
  42. # os.walk() devuelve 3 valores en cad iteración
  43. # el nombre de la carpeta actual
  44. # una lista de las subcarpetas
  45. # una lista de los archivos
  46.  
  47. for carpeta_actual, lista_subcarpetas, lista_archivos in os.walk(ruta):
  48.     for archivo in lista_archivos:
  49.         if archivo.endswith(extension):
  50.             print(os.path.join(carpeta_actual, archivo))
  51.             hallados += 1
  52.            
  53. if not hallados:
  54.     print(f"No existen archivos '{extension}' en '{ruta}'")
  55. else:
  56.     print(f"Total: {hallados}")
Advertisement
RAW Paste Data Copied
Advertisement