Advertisement
teslariu

dirs

Nov 8th, 2021
570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. import os
  5. from datetime import datetime
  6. from tabulate import tabulate
  7.  
  8. ruta = input("Ingrese el directorio: ")
  9.  
  10. ####### listado de los archivos  ##################
  11. total = 0
  12. print("\nArchivos")
  13. print("----------")
  14. for entrada in os.scandir(ruta):
  15.     if entrada.is_file():
  16.         print(entrada.name)
  17.         total += 1
  18. print(f"Total: {total} archivos")
  19.  
  20. ###### listado de directorios ####################
  21. total = 0
  22. print("\n\nDirectorios")
  23. print("-----------------")
  24. for entrada in os.scandir(ruta):
  25.     if entrada.is_dir():
  26.         print(entrada.name)
  27.         total += 1
  28. print(f"Total: {total} directorios")
  29.  
  30. #### mostrar archivos con fecha de ultima modificacion y tamaño #####
  31. # creo una tabla para mostrar los datos ordenadamente
  32. tabla = []
  33. total = 0
  34.  
  35. for entrada in os.scandir(ruta):
  36.     if entrada.is_file():
  37.         total += 1
  38.         estado = entrada.stat()
  39.         tamanio = estado.st_size
  40.         ult_mod = estado.st_mtime  # última modificación
  41.        
  42.         if tamanio < 1024:
  43.             tamanio = f"{tamanio} B"
  44.        
  45.         elif 1024 <= tamanio < 1024**2:
  46.             tamanio = "{:.1f} KB".format(tamanio/1024)
  47.            
  48.         else:
  49.             tamanio = "{:.1f} MB".format(tamanio/1024**2)
  50.        
  51.         ult_mod = datetime.utcfromtimestamp(ult_mod).strftime('%d-%b-%y %H:%M')
  52.        
  53.         tabla.append([entrada.name, tamanio, ult_mod])
  54.  
  55. print(tabulate(
  56.             tabla,
  57.             headers = ['Archivo','Tamaño','Ultima modificación'],
  58.             tablefmt = 'grid',
  59.             colalign = ['left', 'right', 'center']
  60.         )
  61. )
  62.    
  63. print(f"Total: {total} archivos")
  64.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement