Python 3 - Método os.walk ()
Descrição
O método walk() gera os nomes dos arquivos em uma árvore de diretório percorrendo a árvore de cima para baixo ou de baixo para cima.
Sintaxe
A seguir está a sintaxe para walk() método -
os.walk(top[, topdown = True[, onerror = None[, followlinks = False]]])
Parâmetros
top - Cada diretório com raiz no diretório produz 3-tuplas, ou seja, (caminho de diretório, nomes de diretório, nomes de arquivo)
topdown- Se o argumento opcional topdown for True ou não especificado, os diretórios serão verificados de cima para baixo. Se topdown for definido como False, os diretórios serão verificados de baixo para cima.
onerror - Isso pode mostrar um erro ao continuar a caminhada ou gerar a exceção para abortar a caminhada.
followlinks - Isso visita diretórios apontados por links simbólicos, se definido como verdadeiro.
Valor de retorno
Este método não retorna nenhum valor.
Exemplo
O exemplo a seguir mostra o uso do método walk ().
# !/usr/bin/python3
import os
os.chdir("d:\\tmp")
for root, dirs, files in os.walk(".", topdown = False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
Resultado
Deixe-nos compilar e executar o programa acima, ele irá verificar todos os diretórios e subdiretórios de baixo para cima
.\python2\testdir\Readme_files\Lpt_Port_Config.gif
.\python2\testdir\Readme_files\ParallelPortViever.gif
.\python2\testdir\Readme_files\softcollection.css
.\python2\testdir\Readme_files\Thumbs.db
.\python2\testdir\Readme_files\Yellov_Ball.gif
.\python2\testdir\Readme.htm
.\python2\testdir\Readme_files
.\python2\testdir
.\Applicationdocs.docx
.\book.zip
.\foo.txt
.\java.ppt
.\python2
Se você alterar o valor de topdown como True, então você terá o seguinte resultado -
.\Applicationdocs.docx
.\book.zip
.\foo.txt
.\java.ppt
.\python2
.\python2\testdir
.\python2\testdir\Readme.htm
.\python2\testdir\Readme_files
.\python2\testdir\Readme_files\Lpt_Port_Config.gif
.\python2\testdir\Readme_files\ParallelPortViever.gif
.\python2\testdir\Readme_files\softcollection.css
.\python2\testdir\Readme_files\Thumbs.db
.\python2\testdir\Readme_files\Yellov_Ball.gif