Python: compruebe si existe un archivo o directorio

A veces, la necesidad de verificar si un directorio o archivo existe o no se vuelve importante porque tal vez desee evitar sobrescribir el archivo ya existente, o tal vez quiera asegurarse de que el archivo esté disponible o no antes de cargarlo. 
Hay varias formas de comprobar si un archivo o directorio ya existe o no. Están – 
 

Usando os.path.exists()

El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo. El módulo os.path es un submódulo del módulo OS en Python utilizado para la manipulación de nombres de rutas comunes.
Nota: Para saber más sobre el módulo del sistema operativo, haga clic aquí .
El método os.path.exists() en Python se usa para verificar si la ruta especificada existe o no. Este método también se puede usar para verificar si la ruta dada se refiere a un descriptor de archivo abierto o no.
 

Sintaxis: os.path.exists(ruta)
Parámetro:  
ruta: Un objeto similar a una ruta que representa una ruta del sistema de archivos. Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.
Tipo de devolución: este método devuelve un valor booleano de clase bool. Este método devuelve True si la ruta existe; de ​​lo contrario, devuelve False. 
 

Ejemplo: 

Python3

# Python program to explain os.path.exists() method 
     
# importing os module 
import os
   
# Specify path
path = '/usr/local/bin/'
   
# Check whether the specified
# path exists or not
isExist = os.path.exists(path)
print(isExist)
   
   
# Specify path
path = '/home/User/Desktop/file.txt'
   
# Check whether the specified
# path exists or not
isExist = os.path.exists(path)
print(isExist)

Producción: 

True
False

Usando os.path.isfile()

El método os.path.isfile() en Python se usa para verificar si la ruta especificada es un archivo regular existente o no.
 

Sintaxis: os.path.isfile(ruta)
Parámetro:  
ruta: Un objeto similar a una ruta que representa una ruta del sistema de archivos. Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.
Tipo de devolución: este método devuelve un valor booleano de clase bool. Este método devuelve True si la ruta especificada es un archivo normal existente; de ​​lo contrario, devuelve False. 
 

Ejemplo: 

Python3

# Python program to explain os.path.isfile() method
 
# importing os module 
import os
 
# Path
path = 'C:/Users/gfg/Desktop/file.txt'
 
# Check whether the 
# specified path is 
# an existing file
isFile = os.path.isfile(path)
print(isFile)
 
# Path
path = '/home/User/Desktop/'
 
# Check whether the 
# specified path is 
# an existing file
isFile = os.path.isfile(path)
print(isFile)

Producción: 
 

True
False

Usando os.path.isdir()

El método os.path.isdir() en Python se usa para verificar si la ruta especificada es un directorio existente o no. Este método sigue un enlace simbólico, lo que significa que si la ruta especificada es un enlace simbólico que apunta a un directorio, el método devolverá True.
 

Sintaxis: os.path.isdir(ruta)
Parámetro:  
ruta: Un objeto similar a una ruta que representa una ruta del sistema de archivos.
Tipo de devolución: este método devuelve un valor booleano de clase bool. Este método devuelve True si la ruta especificada es un directorio existente; de ​​lo contrario, devuelve False. 
 

Ejemplo: 
 

Python3

# Python program to explain os.path.isdir() method 
     
# importing os.path module 
import os.path
   
# Path
path = '/home/User/Documents/file.txt'
   
# Check whether the 
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)
   
   
# Path
path = '/home/User/Documents/'
   
# Check whether the 
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)

Producción: 
 

False
True

Ejemplo: si la ruta especificada es un enlace simbólico.
 

Python3

# Python program to explain os.path.isdir() method 
     
# importing os.path module 
import os.path
   
   
# Create a directory
# (in current working directory)
dirname = "GeeksForGeeks"
os.mkdir(dirname)
   
# Create a symbolic link
# pointing to above directory
symlink_path = "/home/User/Desktop/gfg"
os.symlink(dirname, symlink_path)
   
   
path = dirname
   
# Now, Check whether the 
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)
   
path = symlink_path
   
# Check whether the 
# specified path (which is a
# symbolic link ) is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)

Producción: 
 

True
True

Usando pathlib.Path.exists()

El módulo Pathlib en Python proporciona varias clases que representan rutas del sistema de archivos con semántica apropiada para diferentes sistemas operativos. Este módulo se incluye en los módulos de utilidad estándar de Python. Las clases de rutas en el módulo Pathlib se dividen en rutas puras y rutas concretas . Las rutas puras solo proporcionan operaciones computacionales pero no proporcionan operaciones de E/S, mientras que las rutas concretas heredan de rutas puras proporcionan operaciones computacionales y de E/S.
Nota: Para saber más sobre el módulo pathlib, haga clic aquí .
El método pathlib.Path.exists() se usa para verificar si la ruta dada apunta a un archivo o directorio existente o no.
 

Sintaxis: pathlib.Path.exists(ruta)
Parámetro:  
ruta: Un objeto similar a una ruta que representa una ruta del sistema de archivos.
Tipo de devolución: este método devuelve un valor booleano de clase bool. Este método devuelve True si la ruta existe; de ​​lo contrario, devuelve False. 
 

Ejemplo: 
 

Python3

# Import Path class
from pathlib import Path
   
# Path
path = '/home/gfg/Desktop'
   
# Instantiate the Path class
obj = Path(path)
   
# Check if path points to 
# an existing file or directory 
print(obj.exists())

Producción: 
 

True

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *