Estoy verificando si existe un directorio, pero noté que estoy usando en os.path.exists
lugar de os.path.isdir
. Ambos funcionan bien, pero tengo curiosidad por saber cuáles son las ventajas de usar en isdir
lugar de exists
.
78
os.path.exists
también regresará True
si hay un archivo normal con ese nombre.
os.path.isdir
solo regresará True
si esa ruta existe y es un directorio, o un enlace simbólico a un directorio.
os.path.isdir
está 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,
isdir
regresaráFalse
. Mientras tanto,exists
volveráTrue
en 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