Я проверяю, существует ли каталог, но заметил, что использую os.path.exists
вместо os.path.isdir
. Оба работают нормально, но мне любопытно, каковы преимущества использования isdir
вместо них exists
.
78
os.path.exists
также вернется, True
если есть обычный файл с таким именем.
os.path.isdir
вернется только в том True
случае, если этот путь существует и является каталогом или символической ссылкой на каталог.
os.path.isdir
возвращается для меня по символической ссылке.os.path.isdir('.ipynb_checkpoints')
возвращаюсь к истинеТочно так же, как это звучит так: если путь существует, но является файлом, а не каталогом,
isdir
вернетсяFalse
. Между темexists
вернетсяTrue
в обоих случаях.источник
os.path.isdir () проверяет, существует ли путь и является ли он каталогом, и возвращает TRUE для случая.
Точно так же os.path.isfile () проверяет, существует ли путь и является ли он файлом, и возвращает TRUE для случая.
Кроме того, os.path.exists () проверяет, существует ли путь, и не заботится о том, указывает ли путь на файл или каталог, и возвращает TRUE в любом из случаев.
источник
В большинстве случаев это одно и то же.
Но путь может существовать физически, тогда как
path.exists()
возвращает False. Это тот случай, если os.stat () возвращает значение False для этого файла.Если путь существует физически,
path.isdir()
всегда будет возвращать значение True. Это не зависит от платформы.источник
isdir()
не могу знать, существует ли каталог.источник