Estoy verificando si existe un directorio, pero noté que estoy usando en os.path.existslugar de os.path.isdir. Ambos funcionan bien, pero tengo curiosidad por saber cuáles son las ventajas de usar en isdirlugar de exists.
78
os.path.existstambién regresará Truesi hay un archivo normal con ese nombre.
os.path.isdirsolo regresará Truesi esa ruta existe y es un directorio, o un enlace simbólico a un directorio.
os.path.isdirestá volviendo verdadero para mí en un enlace simbólico.os.path.isdir('.ipynb_checkpoints')regresando de verdadAl igual que suena así: si la ruta existe, pero es un archivo y no un directorio,
isdirregresaráFalse. Mientras tanto,existsvolveráTrueen ambos casos.fuente
os.path.isdir () comprueba si la ruta existe y es un directorio y devuelve TRUE para el caso.
De manera similar, os.path.isfile () comprueba si la ruta existe y es un archivo y devuelve TRUE para el caso.
Y os.path.exists () comprueba si la ruta existe y no le importa si la ruta apunta a un archivo o directorio y devuelve TRUE en cualquiera de los casos.
fuente
La mayoría de las veces es lo mismo.
Pero, la ruta puede existir físicamente mientras que
path.exists()devuelve False. Este es el caso si os.stat () devuelve False para este archivo.Si la ruta existe físicamente,
path.isdir()siempre devolverá True. Esto no depende de la plataforma.fuente
isdir()no puedo saber si el directorio existe.fuente