Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- # Script que lista archivos y directorios
- import os
- from datetime import datetime
- from tabulate import tabulate
- archivos = 0
- directorios = 0
- # creo la tabla para mostrar los datos
- # formato de la tabla:
- # si es un archivo:
- # <fecha y hora> <tamaño> <nombre>
- # si es un directorio:
- # <DIR> <nombre>
- tabla = []
- # Escaneo el directorio y leo los datos según sea archivo o directorio
- for entrada in os.scandir(os.getcwd()):
- if entrada.is_file():
- archivos += 1
- nombre = entrada.name
- # leo la info del archivo
- info = entrada.stat()
- # leo el tamaño del archivo
- tamanio = info.st_size
- # formateo el tamaño en B, KB, MB según corresponda
- if tamanio < 1024:
- tamanio = f"{tamanio} B"
- elif 1024 <= tamanio <= 1024**2:
- tamanio = f"{tamanio/1024:.1f} KB"
- else:
- tamanio = f"{tamanio/1024**2:.1f} MB"
- # leo la fecha y hora del ultimo acceso al archivo
- modificacion = datetime.utcfromtimestamp(info.st_mtime).strftime('%d/%m/%Y %H:%M')
- # agrego el dato a la tabla
- tabla.append([modificacion, "", tamanio, nombre])
- elif entrada.is_dir():
- directorios += 1
- nombre = entrada.name
- # agrego el dato a la tabla
- tabla.append(["", "<DIR>".center(11), "", nombre])
- else:
- # agrego el dato a la tabla
- tabla.append(["---", "----", "----", "----"])
- print(tabulate(
- tabla,
- tablefmt = "plain",
- colalign = ["center", "center", "right", "left"]
- )
- )
- print(f"\n\n{archivos} archivos")
- print(f"{directorios} directorios")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement