Método Python os.walk()

Python File(文件) 方法Métodos de archivo/directorio de Python OS


Resumen

El método os.walk() se utiliza para generar los nombres de archivos 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 de manera eficiente asuntos relacionados con archivos y directorios.

Funciona en Unix y Windows.

Sintaxis

walk()La sintaxis del método es la siguiente:

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

Parámetros

  • toptop -- es la dirección del directorio que deseas recorrer; devuelve una tupla de tres elementos (root, dirs, files).

    • root se refiere a la dirección de la carpeta que se está recorriendo actualmente.
    • dirs es una lista que contiene los nombres de todos los directorios en esa carpeta (sin incluir subdirectorios).
    • files es también una lista, cuyo contenido son todos los archivos en esa carpeta (sin incluir subdirectorios).
  • topdowntopdown -- opcional. Si es True, recorre primero el directorio top; de lo contrario, recorre primero los subdirectorios de top (activado por defecto). Si el parámetro topdown es True, walk recorrerá la carpeta top y cada subdirectorio de la carpeta top.

  • onerroronerror -- opcional. Requiere un objeto invocable (callable); se llamará cuando walk necesite manejar una excepción.

  • followlinksfollowlinks -- opcional. Si es True, recorrerá el directorio real al que apuntan los accesos directos en el directorio (en Linux, enlaces simbólicos) (desactivado por defecto). Si es False, recorrerá primero los subdirectorios de top.

Valor de retorno

Devuelve un generador.

Ejemplo

El siguiente ejemplo demuestra el uso del método walk():

Ejemplo

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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

Python File(文件) 方法Métodos de archivo/directorio de Python OS

Otras extensiones