#!/usr/bin/env python import os import sys # para os argumentos # ------------------- listarDir ------------------- def listarDir(directoria, indent): # necessario mudar a directoria para a nova # porque ele so aceita o 'isfile' em relacao # a directoria actual os.chdir(directoria) # cria lista com todos os files/dirs # da directoria actual list = os.listdir(directoria) # filtra so os files para flist flist = filter(os.path.isfile, list) # filtra so as dirs para dlist dlist = filter(os.path.isdir, list) # escreve a dir actual com indentacao # atencao que 2*" " = dois espacos print (indent-2)*" " + "D: " + directoria for d in dlist: # mudar para \ para windows d = d + "/" listarDir(directoria+d,indent+2) for f in flist: print indent*" " + "F: " + f # ------------------------------------------------- # "Main" if len(sys.argv) == 1: print "Primeiro argumento deve ser a directoria a listar" else: # argv[0] e' o nome do executavel # argv[1] e' o primeiro argumento print "" listarDir(sys.argv[1], 4) print ""