Saltar al contenido

OS.walk en Python – PythonForBeginners.com

Python tiene una función incorporada en el módulo del sistema operativo que se llama os.walk ().

OS.Walk ()

OS.walk () genera los nombres de los archivos en un árbol de directorios recorriendo el árbol de arriba hacia abajo o de abajo hacia arriba.

Para cada directorio en el árbol arraigado en la parte superior del directorio (incluida la parte superior en sí), produce una tupla de 3 (ruta de directorio, nombres de directorio, nombres de archivo).

Caminos


root :	Prints out directories only from what you specified
dirs :	Prints out sub-directories from root. 
files:  Prints out all files from root and directories

Haciendo un guion

Teniendo esa información podemos crear un script simple haciendo precisamente eso. Este script imprimirá todos los directorios, subdirectorios y archivos de la ruta que especifiqué (/ var / log)

import os
print "root prints out directories only from what you specified"
print "dirs prints out sub-directories from root"
print "files prints out all files from root and directories"
print "*" * 20
for root, dirs, files in os.walk("/var/log"):
    print root
    print dirs
    print files

Usando getsize

El segundo ejemplo amplía el primero mostrando cuánto consume cada archivo usando la función getsize.

print "This is using getsize to see how much every file consumes"
print "---------------"
from os.path import join, getsize
for root, dirs, files in os.walk('/tmp'):
    print root, "consumes",
    print sum([getsize(join(root, name)) for name in files]),
    print "bytes in", len(files), "non-directory files"

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.