Encontrar arquivos em Python pode ser um desafio quando a localização do arquivo varia em diferentes sistemas. Felizmente, Python fornece o módulo os.walk que permite percorrer diretórios e localizar arquivos sem esforço.
os.walk para pesquisa de arquivos
os.walk cria um gerador objeto que itera sobre um diretório e seus subdiretórios, produzindo três tuplas para cada iteração:
Encontrando um único arquivo
Para encontrar a primeira ocorrência de um arquivo específico, simplesmente itere sobre as tuplas geradas e verifique se o nome do arquivo está na lista de arquivos:
import os
def find(name, path):
for root, dirs, files in os.walk(path):
if name in files:
return os.path.join(root, name)
Encontrando todas as ocorrências de um arquivo
Para encontrar todas as ocorrências de um arquivo, crie uma lista para armazenar as correspondências :
def find_all(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return result
Matching File Patterns
Para pesquisar arquivos que correspondam a um padrão, use o módulo fnmatch:
import os, fnmatch
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
find('*.txt', '/path/to/dir')
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3