¿Cómo puedo enumerar el contenido de un directorio en Python?

Resuelto Paul D. Waite asked hace 14 años • 8 respuestas

No puede ser difícil, pero tengo un bloqueo mental.

Paul D. Waite avatar May 03 '10 22:05 Paul D. Waite
Aceptado
import os
os.listdir("path") # returns list
user85461 avatar May 03 '2010 15:05 user85461

De una sola mano:

import os
os.listdir("/home/username/www/")

De otra manera :

glob.glob("/home/username/www/*")

Ejemplos encontrados aquí .

El glob.globmétodo anterior no enumerará archivos ocultos.

Desde que respondí originalmente esta pregunta hace años, se agregó pathlib a Python. Mi forma preferida de enumerar un directorio ahora generalmente implica el iterdirmétodo sobre Pathobjetos:

from pathlib import Path
print(*Path("/home/username/www/").iterdir(), sep="\n")
Trey Hunner avatar May 03 '2010 15:05 Trey Hunner

os.walkse puede utilizar si necesita recursividad:

import os
start_path = '.' # current directory
for path,dirs,files in os.walk(start_path):
    for filename in files:
        print os.path.join(path,filename)
Mark Tolonen avatar May 03 '2010 16:05 Mark Tolonen