Como listar todos os arquivos em um diretório usando Python?
Como listar todos os arquivos em um diretório com Python
Introdução
Quando estamos trabalhando com operações relacionadas a arquivos em Python, é comum que precisemos obter uma lista de todos os arquivos e pastas presentes em um diretório específico. Existem várias maneiras de fazer isso, e cada solução tem suas vantagens e desvantagens.
Neste tutorial, vamos nos concentrar nas técnicas mais versáteis disponíveis no módulo pathlib
para listar os itens de um diretório. Além disso, vamos explorar algumas ferramentas alternativas.
Antes de começarmos, é importante mencionar que o pathlib
foi introduzido no Python 3.4 como uma forma mais moderna e amigável de lidar com caminhos de arquivos. Anteriormente, utilizávamos o módulo os
, o qual é eficiente, mas exige o tratamento de caminhos como strings. O pathlib
simplifica bastante essa tarefa.
Usando o módulo pathlib
O primeiro passo é criar um objeto Path
, que dependerá do sistema operacional utilizado. No Windows, utilizamos WindowsPath
, enquanto no Linux e macOS utilizamos PosixPath
. Por exemplo:
Com o objeto Path
, temos acesso a diversos métodos e propriedades para manipular arquivos e pastas. Um método útil é o .iterdir()
, que retorna um iterável contendo todos os itens presentes no diretório.
Esse código irá exibir o caminho completo de cada item (arquivo ou pasta) no diretório. Para listar apenas os arquivos, podemos utilizar o método .rglob()
em conjunto com uma expressão regular. Por exemplo, para listar todos os arquivos .txt
presentes no diretório e em suas subpastas:
Na prática, o pathlib
oferece uma forma simples e poderosa de obter uma lista de todos os arquivos em um diretório. Ele também é bastante flexível e permite filtrar os resultados de acordo com critérios específicos.
Usando a biblioteca glob
do Python
Além do pathlib
, outra forma de listar arquivos em um diretório é utilizando a biblioteca glob
do Python. Essa biblioteca nos permite realizar buscas de arquivos usando padrões de expressões regulares.
Nesse exemplo, estamos buscando todos os arquivos com extensão .txt
no diretório especificado. A função glob.glob()
retorna uma lista com os caminhos completos dos arquivos encontrados.
Conclusão
Neste artigo, você aprendeu diferentes maneiras de listar todos os arquivos em um diretório utilizando Python. O módulo pathlib
é muito útil para esse tipo de tarefa, pois fornece métodos simples e flexíveis para manipular caminhos de arquivos. Além disso, a biblioteca glob
oferece uma forma alternativa de realizar buscas por padrões de expressões regulares.
Experimente essas técnicas em seus projetos e adapte-as de acordo com suas necessidades. Lembre-se de que cada solução tem suas vantagens e desvantagens, então escolha aquela que melhor se adequar ao seu caso específico.