quinta-feira, novembro 23, 2006

Percorrer directorias em Python

No mundo da programação, é frequente ter-se que percorrer recursivamente directorias, para pesquisar, recuperar determinados tipos de ficheiros, indexar ou qualquer outro tipo de tarefas.
Dependendo da linguagem de programação, esta tarefa pode ser realizada com mais ou menos facilidade.

Em python, existe uma função óptima para essa tarefa: walk( top[, topdown=True [, onerror=None]]).
Quando a função é chamada, esta devolve 3 estruturas: uma string que contem a directoria corrente, uma lista que contém as subdirectorias da directoria corrente e uma lista com os ficheiros da directoria corrente.

Um exemplo de código para fazer uma listagem dos ficheiros presentes numa directoria raiz e em todas as suas subdirectorias poderia ser algo assim:

import os

for root, dirs, files in os.walk('/home/dcruz/teste_dir'):
for file in files:
print os.path.join(root, file)



Dificilmente poderia ser mais fácil!
E mais uma vez, convém não esquecer que python funciona em imensos sistemas operativos(Linux, Mac OS, Windows, ...), só é preciso fornecer o enderço correcto da directoria consoante o sistema operativo que se esteja a usar.

Sem comentários: