Método os.walk() de Python3
Métodos de archivo/directorio de Python3 OS
Resumen
El método os.walk() puede crear un generador para generar todos los archivos en el directorio buscado y sus subdirectorios.
El método os.walk() se usa para generar los nombres de archivo en un directorio recorriendo el árbol de directorios, hacia arriba o hacia abajo.
El método os.walk() es un iterador de archivos y directorios simple y fácil de usar que nos ayuda a manejar eficientemente asuntos relacionados con archivos y directorios.
Válido en Unix y Windows.
Sintaxis
walk()El formato de sintaxis del método es el siguiente:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
Parámetros
-
top-- Para cada carpeta en el directorio raíz (incluyéndose a sí misma), se genera una tupla de 3 elementos (dirpath, dirnames, filenames) [ruta de carpeta, nombre de carpeta, nombre de archivo].
topdown-- Opcional, si es True o no se especifica, la tupla de 3 elementos de un directorio se generará antes que la de cualquiera de sus subcarpetas (de arriba hacia abajo). Si topdown es False, la tupla de 3 elementos de un directorio se generará después que la de cualquiera de sus subcarpetas (de abajo hacia arriba).
onerror-- Opcional, es una función; se llama con un parámetro, una instancia de OSError. Después de informar este error, continúa el walk, o lanza una excepción para terminar el walk.
followlinks-- Si se establece en true, se accede a los directorios a través de enlaces simbólicos.
Valor de retorno
Devuelve un generador.
Ejemplo
El siguiente ejemplo demuestra el uso del método walk():
Ejemplo
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))
El resultado de ejecutar el programa anterior es:
./.bash_logout ./amrood.tar.gz ./.emacs ./httpd.conf ./www.tar.gz ./mysql.tar.gz ./test.py ./.bashrc ./.bash_history ./.bash_profile ./tmp ./tmp/test.pyOtras extensiones