Listado de árbol de directorios en Python
¿Cómo obtengo una lista de todos los archivos (y directorios) en un directorio determinado en Python?
Aceptado
Esta es una forma de recorrer cada archivo y directorio en un árbol de directorios:
import os
for dirname, dirnames, filenames in os.walk('.'):
# print path to all subdirectories first.
for subdirname in dirnames:
print(os.path.join(dirname, subdirname))
# print path to all filenames.
for filename in filenames:
print(os.path.join(dirname, filename))
# Advanced usage:
# editing the 'dirnames' list will stop os.walk() from recursing into there.
if '.git' in dirnames:
# don't go into any .git directories.
dirnames.remove('.git')
Puedes usar
os.listdir(path)
Para referencia y más funciones del sistema operativo, mire aquí:
- Documentos de Python 2: https://docs.python.org/2/library/os.html#os.listdir
- Documentos de Python 3: https://docs.python.org/3/library/os.html#os.listdir
Aquí hay una función auxiliar que uso con bastante frecuencia:
import os
def listdir_fullpath(d):
return [os.path.join(d, f) for f in os.listdir(d)]
import os
for filename in os.listdir("C:\\temp"):
print filename
Si necesitas habilidades globales, también hay un módulo para eso. Por ejemplo:
import glob
glob.glob('./[0-9].*')
devolverá algo como:
['./1.gif', './2.txt']
Consulte la documentación aquí .