Advertisement
teslariu

script

Feb 27th, 2021
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.56 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script que recibe como argumentos la ruta a una carpeta y una
  6. extensión para buscar archivos dentro de ella (sin recursividad). Luego,
  7. se deben mostrar los archivos hallados. Si no se pasan los dos argumentos
  8. correspondientes, el programa debe indicar el error en la consola y
  9. finalizar. Si la ruta no existe, el programa debe indicarlo en consola
  10. y finalizar
  11. Ejemplo:
  12.    python buscar_archivos.py C:\\User\\Usuario\\Desktop .jpeg
  13.    python buscar_archivos.py C:\\User\\Usuario\\Desktop jpeg
  14.    
  15.    python buscar_archivos.py <ruta> <extension>
  16. """
  17. import sys
  18. import os
  19.  
  20. # lista que almacena los archivos buscados
  21. archivos = []
  22.  
  23. # verificar la cantidad de argumentos
  24. if len(sys.argv) != 3:
  25.     print("Error: debe ejecutar 'python buscar_archivos.py <ruta> <extension>'")
  26.     sys.exit()
  27.  
  28. # asigna los parametros
  29. ruta, extension = sys.argv[1:]
  30.  
  31. # verifico la validez de la ruta
  32. if not os.path.exists(ruta):
  33.     print(f"Error: no existe la ruta '{ruta}'")
  34.     sys.exit()
  35.    
  36. # necesito la extension sin el punto
  37. if extension.startswith("."):
  38.     extension = extension.replace(".","")
  39.    
  40. # busco los archivos y los guardo
  41. for elemento in os.listdir(ruta):
  42.     nombre = elemento.split(".")
  43.     if len(nombre) == 1:
  44.         continue
  45.     if nombre[1] == extension:
  46.         archivos.append(elemento)
  47.        
  48. # muestro los resultados
  49. if archivos:
  50.     for archivo in archivos:
  51.         print(archivo)
  52. else:
  53.     print(f"No se hallaron archivos con extensión '{extension}' en la ruta '{ruta}'")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement