Como usar o módulo glob do Python para encontrar arquivos por padrão
O módulo glob
em Python é uma ferramenta poderosa para encontrar arquivos e diretórios que correspondem a um padrão especificado. É particularmente útil quando você precisa procurar por arquivos com extensões ou nomes específicos em um diretório. Este artigo o guiará pelo uso do módulo glob
para localizar arquivos de forma eficiente.
Introdução ao módulo glob
O módulo glob
fornece uma maneira de listar arquivos e diretórios usando curingas no estilo shell do Unix. Isso é útil para tarefas como pesquisas de arquivos, processamento em lote e muito mais. O módulo inclui funções que permitem que você combine nomes de arquivos com padrões, facilitando o gerenciamento de arquivos.
Uso básico de glob
Para usar o módulo glob
, você precisará importá-lo e então usar a função glob.glob()
para encontrar arquivos que correspondem a um padrão. Os padrões que você usa podem incluir curingas como *
(corresponde a qualquer número de caracteres) e ?
(corresponde a um único caractere).
Exemplos
Encontrando arquivos com uma extensão específica
Por exemplo, para encontrar todos os arquivos com a extensão .txt
em um diretório, você pode usar:
import glob
# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)
Encontrando arquivos em um subdiretório
Para encontrar todos os arquivos com uma extensão específica em um subdiretório, especifique o subdiretório no padrão:
import glob
# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)
Usando curingas
Os curingas podem ajudar você a encontrar uma gama maior de arquivos. Por exemplo, para encontrar todos os arquivos de texto que começam com "report":
import glob
# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)
Encontrando arquivos com várias extensões
Você também pode usar glob
para encontrar arquivos com várias extensões usando um padrão que inclui várias correspondências de curingas:
import glob
# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)
Uso avançado
Além de padrões simples, o módulo glob
suporta padrões mais complexos. Por exemplo, você pode usar padrões como **
para pesquisar diretórios recursivamente.
Pesquisa recursiva
Para pesquisar arquivos recursivamente em todos os subdiretórios, use o padrão **
junto com o argumento recursive=True
:
import glob
# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
Conclusão
O módulo glob
é uma ferramenta essencial para gerenciar arquivos em Python, permitindo que você pesquise arquivos usando padrões com facilidade. Não importa se você está trabalhando com tipos de arquivo específicos, pesquisando em diretórios ou realizando pesquisas complexas, glob
fornece uma solução simples e eficaz.