teslariu

buscar_archivos

Jan 30th, 2021
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.60 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Programa que saluda
  4. """
  5. Script que recibe como argumentos una ruta a una carpeta y una extension
  6. para buscar archivos dentro de ella y mostrarlos en pantalla. Si no se pasan
  7. los 2 argumentos, debe mostrarse error y cerrar al programa. En el segundo
  8. argumento se puede pasar un punto (.exe, .xlsx) o no (exe, xlsx). Si la ruta
  9. no existe, el programa debe mostrarlo y terminar
  10. Ej:
  11. >>>python buscar_archivos.py C:/Users/Usuario .xlsx
  12.  
  13. NOTA: el programa no busca en forma recursiva
  14. """
  15. import sys
  16. import os
  17.  
  18. # verificar argumentos
  19. if len(sys.argv) != 3:
  20.     print("""Error: el programa debe usarse como
  21.            buscar_archivos.py <ruta> <extension>
  22.            donde:
  23.            <ruta> es el directorio de búsqueda
  24.            <extension> es el tipo de archivo (jpeg, exe, etc)
  25.            La extensión puede usarse con o sin punto (exe o .exe)
  26.        """)
  27.     sys.exit()
  28.  
  29. # asigno los argumentos
  30. ruta, extension =  sys.argv[1:]
  31.  
  32. # verifico la ruta
  33. if not os.path.exists(ruta):
  34.     print(f"No existe el directorio {ruta}")
  35.     sys.exit()
  36.    
  37. # si existe el punto en la extension lo elimino
  38. if extension.startswith("."):
  39.     extension = extension.replace(".","")
  40.    
  41. # busco e imprimo la lista de archivos
  42. total = 0
  43. for elemento in os.listdir(ruta):
  44.     if "." in elemento:
  45.         nombre, terminacion = elemento.split(".")
  46.         if extension == terminacion:
  47.             print(elemento)
  48.             total = total + 1
  49. if not total:
  50.     print(f"No existen archivos con la extension {extension} en el directorio {ruta}")    
  51.    
Advertisement
Add Comment
Please, Sign In to add comment