import os
# Detectar si es directorio usando stat bitmask
def es_directorio(ruta):
try:
return (os.stat(ruta)[0] & 0x4000) != 0
except:
return False
def tree(ruta=".", nivel=0):
try:
elementos = os.listdir(ruta)
except OSError:
print("No se puede acceder a:", ruta)
return
for i, nombre in enumerate(elementos):
ruta_completa = ruta + "/" + nombre if ruta != "/" else "/" + nombre
es_dir = es_directorio(ruta_completa)
prefijo = "│ " * nivel
conector = "├── " if i < len(elementos) - 1 else "└── "
if es_dir:
print(prefijo + conector + "[DIR] " + nombre)
tree(ruta_completa, nivel + 1)
else:
try:
tamaño = os.stat(ruta_completa)[6]
except:
tamaño = 0
print(prefijo + conector + f"{nombre} ({tamaño} bytes)")
# Ejecutar desde raíz
print("\nFile Tree:\n")
tree("/")