Lendo recursivamente o conteúdo da pasta em Python
Em Python, você pode encontrar problemas ao tentar percorrer diretórios recursivamente para ler arquivos de texto. Um problema comum é o código que funciona apenas para um único nível de diretório.
Compreendendo a função os.walk
O núcleo da travessia recursiva de pastas em Python está no sistema operacional Função .walk(). Ele itera sobre um diretório especificado e seus subdiretórios, retornando três valores: root, subdiretórios e arquivos.
Otimizando a passagem de pasta
Para percorrer diretórios recursivamente, você deve percorrer a lista de subdiretórios retornados por os.walk(). Para cada subdiretório, você pode chamar os.walk() recursivamente para processar seu conteúdo.
Código Python aprimorado
O código de exemplo pode ser modificado para lidar com vários diretórios níveis:
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
Práticas recomendadas adicionais
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