libpath - python iterdir
Python: cómo encontrar archivos y omitir directorios en os.listdir (4)
Yo uso os.listdir
y funciona bien, pero también tengo subdirectorios en la lista, que no es lo que quiero: solo necesito archivos.
¿Qué función necesito usar para eso?
Miré también a os.walk
y parece ser lo que quiero, pero no estoy seguro de cómo funciona.
Aquí hay un pequeño y agradable delineador en forma de una lista de comprensión:
[f for f in os.listdir(your_directory) if os.path.isfile(os.path.join(your_directory, f))]
Esto return
una list
de nombres de archivos dentro del your_directory
especificado.
Necesita filtrar directorios; os.listdir()
lista todos los nombres en una ruta determinada. Puede usar os.path.isdir()
para esto:
basepath = ''/path/to/directory''
for fname in os.listdir(basepath):
path = os.path.join(basepath, fname)
if os.path.isdir(path):
# skip directories
continue
os.walk()
hace el mismo trabajo bajo el capó; a menos que necesite recurse a subdirectorios, no necesita usar os.walk()
aquí.
for fname in os.listdir(''.''):
if os.path.isdir(fname):
pass # do your stuff here for directory
else:
pass # do your stuff here for regular file
import os
filter(os.path.isfile, os.listdir( os.curdir ))
os.curdir es el directorio actual