Obtener los nombres de fichero de una carpeta y subcarpetas

Este código nos permite recorrer un directorio y sus subdirectorios si existen, y obtener el nombre de todos los ficheros que contienen, para realizar alguna operación (en el ejemplo imprimir en nuestra terminal).

import os 
rootDir = 'Nombre_del_Directorio_principal'
for dirName, subdirList, fileList in os.walk(rootDir):
    print('Directorio encontrado: %s' % dirName)
    
    for fname in fileList:
        ficheros= './' +dirName+"/"+fname
        print(ficheros)

En el ejemplo el directorio principal contiene archivos y a su vez dos subdirectorios que también contienen ficheros. El resultado seria similar a este:

Directorio encontrado: Nombre_del_Directorio_principal
.\Nombre_del_Directorio_principal\fichero (1).txt
.\Nombre_del_Directorio_principal\fichero (2).txt
.\Nombre_del_Directorio_principal\fichero (3).txt
.\Nombre_del_Directorio_principal\fichero (4).txt
.\Nombre_del_Directorio_principal\fichero (5).txt
.\Nombre_del_Directorio_principal\fichero (6).txt
.\Nombre_del_Directorio_principal\fichero (7).txt
.\Nombre_del_Directorio_principal\fichero (8).txt
.\Nombre_del_Directorio_principal\fichero (9).txt
Directorio encontrado: Nombre_del_Directorio_principal\Nombre_Subdirectorio_1
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (17).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (18).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (19).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (20).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (21).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_1\fichero (22).txt
Directorio encontrado: Nombre_del_Directorio_principal\Nombre_Subdirectorio_2
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (10).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (11).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (12).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (13).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (14).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (15).txt
.\Nombre_del_Directorio_principal\Nombre_Subdirectorio_2\fichero (16).txt

Lista de ficheros de un directorio

Si no deseamos el contenido de los subdirectorios, el código se simplifica:

import os 
rootDir = 'Nombre_del_Directorio_principal'
lista_de_ficheros = os.listdir(rootDir)


""" Resultado es lista_de_ficheros =
['fichero (1).txt', 'fichero (2).txt', 'fichero (3).txt',
 'fichero (4).txt', 'fichero (5).txt', 'fichero (6).txt',
  'fichero (7).txt', 'fichero (8).txt', 'fichero (9).txt', 
  'Nombre_Subdirectorio_1', 'Nombre_Subdirectorio_2']
"""

Deja un comentario