Método Python os.walk ()

Descripción

Método Python walk() genera los nombres de archivo en un árbol de directorios recorriendo el árbol de arriba hacia abajo o de abajo hacia arriba.

Sintaxis

A continuación se muestra la sintaxis de walk() método -

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

Parámetros

  • top - Cada directorio enraizado en el directorio, produce 3 tuplas, es decir, (ruta de directorio, nombres de directorio, nombres de archivo)

  • topdown- Si el argumento de arriba hacia abajo opcional es Verdadero o no se especifica, los directorios se escanean de arriba hacia abajo. Si topdown se establece en False, los directorios se escanean de abajo hacia arriba.

  • onerror - Esto puede mostrar un error para continuar con la caminata o generar la excepción para abortar la caminata.

  • followlinks - Esto visita directorios apuntados por enlaces simbólicos, si se establece en verdadero.

Valor devuelto

Este método devuelve valor.

Ejemplo

El siguiente ejemplo muestra el uso del método walk ().

# !/usr/bin/python

import os
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))

Compilemos y ejecutemos el programa anterior, esto escaneará todos los directorios y subdirectorios de abajo hacia arriba

./tmp/test.py
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp

Si cambia el valor de topdown a True, entonces le dará el siguiente resultado:

./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py