Comprobar si es directorio o archivo usando Python

Trabajando con Python tenía que comprobar si una ruta apuntaba a una carpeta o a un archivo. Para ello Python provee un método a través del paquete os. Veamos cómo aplicarlo.

Para esto tenemos que importar a os con:

import os

Listo. Los métodos que nos dicen si es directorio o archivo son os.path.isdir y os.path.isfile. Regresan un booleano (True o False).

Ejemplo de uso de isfile

Esta función regresa un booleano si la ruta que le pasamos es un archivo. Si no le pasamos una ruta completa buscará en donde el script se está ejecutando.

import os
if os.path.isfile("archivo/o_ruta"):
    print("Sí es un archivo")
else:
    print("No es archivo, o no existe")

Así podemos comprobarlo.

Actualización: recuerda llamar a isfile con la ruta absoluta del archivo en caso de que te dé problemas. Para eso puedes usar os.path.join, que une rutas.

Usar isdir

Funciona igual que isfile pero ahora comprueba si es directorio/carpeta:

import os
if os.path.isdir("ruta/a/carpeta"):
    print("Sí es una carpeta")
else:
    print("No es una carpeta o no existe")

Conclusiones

Estas funciones, aparte de indicar si es archivo o directorio, comprueban si el archivo existe. De esta manera testeamos si es un archivo y existe, o si es una carpeta y existe.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto