Método os.walk() de Python3

Python3 OS 文件/目录方法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

#!/usr/bin/python3

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.py

Python3 OS 文件/目录方法Métodos de archivo/directorio de Python3 OS

Otras extensiones