Saltar al contenido principal

Cómo comprobar si un archivo existe en Python

Aprende a comprobar si un archivo existe en Python en este sencillo tutorial
Actualizado 16 ene 2025

En Python, comprobar si un archivo existe antes de intentar utilizarlo es una tarea habitual, sobre todo si estás realizando mediante programación operaciones con archivos, como leer o escribir datos en un gran número de archivos. En este tutorial, te guiaré a través de tres métodos eficaces para comprobar si un archivo existe en Python.

Tres métodos para comprobar si un archivo existe en Python

Hay varias formas de verificar la existencia de un archivo en Python, cada una adecuada a diferentes escenarios y estilos de programación. A continuación, exploraremos tres métodos comunes que podrían utilizarse para comprobar si existen archivos.

Requisitos previos: Comprender el directorio actual

A lo largo de este tutorial, veré formas de verificar si el archivo my_file.txt se almacenará en la carpeta my_data. Sin embargo, antes de hacerlo, es esencial que conozcas cómo es tu estructura de carpetas actual, para que puedas navegar por el directorio con eficacia. Aquí tienes algunas funciones estándar que te ayudarán a navegar por tus carpetas y directorios.

Obtén tu directorio actual utilizando os.getcwd()

Para obtener el directorio de trabajo actual en Python, puedes utilizar la función getcwd() del paquete os. Esta función devuelve una cadena que representa la ruta del directorio de trabajo actual. Por ejemplo:

import os

# Get the current working directory
current_directory = os.getcwd()
print("The current working directory is:", current_directory)

Lista todos los archivos y carpetas de tu directorio utilizando os.listdir()

Para listar todas las carpetas y archivos del directorio actual en Python, puedes utilizar la función listdir() del paquete os. Esta función devuelve una lista con los nombres de las entradas del directorio indicado por ruta. Por ejemplo, mi directorio actual contiene tanto la carpeta my_data como un conjunto de datos llamado airbnb_data.csv. Aquí utilizo listdir() para enumerarlos:

import os

# Get the current working directory
current_directory = os.getcwd()

# List all files and folders in the current directory
entries = os.listdir(current_directory)
print(entries) # Returns ['my_data, 'airbnb_data.csv'] 

Método 1: Utilizando la os.path.exists() función

Ahora que hemos aprendido a navegar por los directorios, ¡comprobemos si existen algunos archivos! La función os.path.exists() del módulo os es una forma sencilla de comprobar la existencia de un archivo o directorio. Es fácil de usar y entender. Aquí utilizo una sentencia if que devuelve “This file exists.” si el archivo my_file.txt está presente en my_data, y ”This file does not exist” en caso contrario.

import os

# Specify the file path
file_path = 'my_data/my_file.txt'

# Check if the file exists
if os.path.exists(file_path):
   print("The file exists.")
else:
   print("The file does not exist.")

Método 2: Utilizando la pathlib.Path.exists() función

Para un enfoque más moderno y orientado a objetos, el método Path.exists() del paquete pathlib te permite trabajar con rutas de archivos de forma más intuitiva, integrándose perfectamente con las funciones de gestión de archivos de Python.

from pathlib import Path

# Create a Path object
file_path = Path('my_data/my_file.txt')

# Check if the file exists
if file_path.exists():
   print("The file exists.")
else:
   print("The file does not exist.")

Método 3: Utilizando la try-except bloque con apertura de archivo

Otro método es emplear un bloque try-except en combinación con la función open() para abrir el archivo mientras se comprueba si existe. Este método combina eficazmente la comprobación de existencia con el acceso al fichero.

try:
    # Attempt to open the file
    with open('my_data/my_file.txt', 'r') as file:
        print("The file exists.")
except FileNotFoundError:
    print("The file does not exist.")

Conclusión

En conclusión, Python ofrece múltiples métodos para comprobar si un archivo existe en un directorio. El método elegido depende de tu estilo de programación y de tu caso de uso. Para saber más sobre el aprendizaje de Python, consulta nuestro tutorial Cómo salir de Python, o Cómo convertir una cadena en un número entero en Python.

Temas

¡Continúa hoy tu viaje en Python!

programa

Programación en Python

24hrs hr
Mejora tus conocimientos de programación en Python. Aprende a optimizar el código, a escribir funciones y pruebas unitarias, y a utilizar las mejores prácticas de ingeniería de software.
Ver detallesRight Arrow
Comienza el curso
Certificación disponible

curso

Python intermedio

4 hr
1.1M
Mejora tus conocimientos de ciencia de datos creando visualizaciones con Matplotlib y manipulando DataFrames con pandas.
Ver másRight Arrow