Advertisement
teslariu

scandir

Dec 14th, 2021
1,081
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 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. total = 0
  9. directorio = input("Ingrese el directorio: ")
  10.  
  11. ######## Listado de archivos en el directorio #####
  12. print("\nArchivos")
  13. for entrada in os.scandir(directorio):
  14.     if entrada.is_file():
  15.         print(entrada.name)
  16.         total += 1
  17. print(f"Total de archivos: {total}")
  18.        
  19. ######## Listado de directorios en el directorio #####
  20. total = 0
  21. print("\nDirectorios")
  22. for entrada in os.scandir(directorio):
  23.     if entrada.is_dir():
  24.         print(entrada.name)
  25.         total += 1
  26. print(f"Total de directorios: {total}")
  27.  
  28.  
  29. ### Listado de archivos con tamaño y fecha de modificación #####
  30. tabla = []
  31. for entrada in os.scandir(directorio):
  32.     if entrada.is_file():
  33.         info = entrada.stat()
  34.         tamanio = info.st_size
  35.        
  36.         if tamanio < 1024:
  37.             tamanio = f"{tamanio} B"
  38.         elif 1024 <= tamanio < 1024**2:
  39.             tamanio = "{:.1f} KB".format(tamanio/1024)
  40.         else:
  41.             tamanio = "{:.1f} MB".format(tamanio/1024**2)
  42.            
  43.         ult_mod = datetime.utcfromtimestamp(info.st_mtime).strftime('%d-%b-%y %H:%M')
  44.         tabla.append([entrada.name, tamanio, ult_mod])
  45. print(tabulate(
  46.             tabla,
  47.             headers = ["Archivo","Tamaño","Ultima modificación"],
  48.             tablefmt = 'grid',
  49.             colalign = ['left', 'right', 'center']
  50.             )
  51.     )
  52.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement