Volver a la página principal
jueves 25 julio 2024
22

Cómo listar ficheros en Python

Python proporciona varias maneras para manejar archivos y directorios. A continuación, te mostramos cómo listar ficheros en un directorio usando los módulos os y glob.

Listar Ficheros en un Directorio Específico

Para listar todos los ficheros en un directorio específico, puedes usar el módulo os. Aquí tienes un ejemplo:

import os

# Ruta del directorio que quieres listar
directorio = '/ruta/al/directorio'

# Obtener una lista de todos los ficheros en el directorio
ficheros = [f for f in os.listdir(directorio) if os.path.isfile(os.path.join(directorio, f))]

# Imprimir cada fichero
for fichero in ficheros:
    print(fichero)

Este script realiza las siguientes acciones:

1. Define la ruta del directorio.

2. Usa os.listdir para obtener todas las entradas del directorio.

3. Filtra las entradas para incluir solo ficheros usando os.path.isfile.

4. Imprime cada fichero.

Listar Ficheros Recursivamente en Todos los Subdirectorios

Si necesitas listar todos los ficheros en un directorio y sus subdirectorios, puedes usar el módulo glob:

import glob

# Ruta del directorio que quieres listar
directorio = '/ruta/al/directorio'

# Obtener una lista de todos los ficheros recursivamente
ficheros = [f for f in glob.glob(f'{directorio}/**/*', recursive=True) if os.path.isfile(f)]

# Imprimir cada fichero
for fichero in ficheros:
    print(fichero)

En este script:

1. glob.glob con el patrón /* busca todos los ficheros y subdirectorios recursivamente.

2. Filtra para incluir solo ficheros usando os.path.isfile.

3. Imprime cada fichero encontrado.

Alternativa con os.walk

Otra opción es usar os.walk para recorrer el directorio recursivamente:

import os

# Ruta del directorio que quieres listar
directorio = '/ruta/al/directorio'

# Obtener una lista de todos los ficheros recursivamente
ficheros = []
for root, dirs, files in os.walk(directorio):
    for file in files:
        ficheros.append(os.path.join(root, file))

# Imprimir cada fichero
for fichero in ficheros:
    print(fichero)

Este método:

1. Usa os.walk para recorrer el directorio y sus subdirectorios.

2. Agrega cada fichero a la lista ficheros.

3. Imprime cada fichero encontrado.

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer