06/03/2026

Trabajando con ficheros en Python con el módulo 'pathlib'

“Cambia lo superficial,

cambia también lo profundo,

cambia el modo de pensar

cambia todo en este mundo [..] "

.- Mercedes Sosa

El autor de El Libro de Python sugiere usar el módulo os. Indagando un poco más, uno aprende que hoy en día hay una forma más ‘idiomática’ o ‘pytónica’ de programar python para el manejo de ficheros del sistema. La librería recientemente ha dejado obsoleta a os es pathlib (disponible desde la versión 3.6 de Python)

Usando os para el manejo de ficheros

Veamos, el ‘modus operandi’ que propone el Libro de Python :

NOTA: transcribo literalmente de El Libro de Python

En este ejemplo vemos como trabajar con ficheros usando os. Vemos como:

  • 🖌️ Crear ficheros
  • 🔄 Modificar el nombre de ficheros
  • 🗑️ Eliminar ficheros y carpetas

🖌️ Veamos como crear varios ficheros. Los creamos vacíos, pero puedes usar cambiar el write para añadir contenido si lo deseas.

import os

def crea_ficheros(ruta, nombre, cantidad):
    if not os.path.exists(ruta):
        os.makedirs(ruta)
		import os


for i in range(cantidad):
        archivo_ruta = os.path.join(ruta, f"{nombre}_{i}.txt")
        with open(archivo_ruta, 'w') as fichero:
            fichero.write('')
        print(f"Creado: {archivo_ruta}")

Si llamamos a la función, crearemos 10 ficheros en la carpeta ejemplo con nombres desde fichero_1.txt hasta fichero_9.txt.

crea_ficheros("./ejemplo", "fichero", 10)

obtendremos la salida siguiente en nuestra terminal :

$ python3 trabajando-con-ficheros-i.py 
Creado: ./ejemplo/fichero_0.txt
Creado: ./ejemplo/fichero_1.txt
Creado: ./ejemplo/fichero_2.txt
Creado: ./ejemplo/fichero_3.txt
Creado: ./ejemplo/fichero_4.txt
Creado: ./ejemplo/fichero_5.txt
Creado: ./ejemplo/fichero_6.txt
Creado: ./ejemplo/fichero_7.txt
Creado: ./ejemplo/fichero_8.txt
Creado: ./ejemplo/fichero_9.txt

NOTA: fin de la transcripción literal de El Libro de Python

Usando pathlib para el manejo de ficheros 🔄

Veamos como modificar el script anterior con el más ‘pitónico’ pathlib

from pathlib import Path

def crea_ficheros(ruta, nombre, cantidad):
    directorio = Path(ruta)
    directorio.mkdir(parents=True, exist_ok=True)
    for i in range(cantidad):
        archivo = directorio / f"{nombre}_{i}.txt"
        archivo.write_text('')
        print(f"Creado: {archivo}")

crea_ficheros("./ejemplo", "fichero", 10)

Los cambios principales de ospathlib:

os pathlib
os.path.exists(ruta) + os.makedirs(ruta) Path(ruta).mkdir(parents=True, exist_ok=True)
os.path.join(ruta, nombre) directorio / nombre (operador /)
open(archivo, 'w') + write('') archivo.write_text('')

pathlib es más expresivo y orientado a objetos: el Path encapsula todas las operaciones sobre rutas, y el operador / hace la concatenación de paths mucho más legible que os.path.join.

Python - Pathlib

Trabajando con ficheros en Python con el módulo 'pathlib'