Y que tiene que ver python?
Pues python o ruby son muy sencillos y los uso para hacer prototipos,como un tipo de pseudocodigo que pueda ejecutar,ya que python es mucho mas sencillo que C,C++,C#,Java y bueno:
#!/usr/bin/env python
from glob import glob
from os import path
"""
Algoritmo:
1.-Recorrer directorio y selecionar los directorios y archivos.
2.-Recorrer cada directorio y hacer lo mismo que el paso 1
"""
def dirs(x,n): # funcion principal
di = glob(x+"/"+"*") # vemos todo lo que esta adentro del directorio que nos manden
tabs = " "*n # Algo de vista
do = x.split('/') # Esto es para mostrar el archivo(por culpa de glob)
print tabs+do[-1]+" /" # Mostramos la vista
for i in di: # Recorremos el directorio
if path.isdir(i): # Si es direcotorio
dirs(i,n+1) # Empezamos la función recursiva
elif path.isfile(i): # Si es archivo
do = i.split('/') # gracias a glob :/
print "|"+tabs+do[-1] # Lo mostramos
if __name__ == "__main__": # Asi se ejecutan los scripts
dirs(".",0) # Iniciamos el script buscando en el directorio actual
Veamos.
Creamos algunos archivos y carpetas:
tree :
El script en python:
Como ven le falta mucha vista,pero eso ya se hace teniendo el script principal,lo unico que queria mostrar era la busqueda recursiva usando una funcion recursiva.
Espero que les sirva :D.
Un extra para los Linuxeros/Unixeros:
find . -print | sed 's;[^/]*/;->| ;g'
Eso es todo :D.
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.