Я проверяю, существует ли каталог, но заметил, что использую os.path.existsвместо os.path.isdir. Оба работают нормально, но мне любопытно, каковы преимущества использования isdirвместо них exists.
Я проверяю, существует ли каталог, но заметил, что использую os.path.existsвместо os.path.isdir. Оба работают нормально, но мне любопытно, каковы преимущества использования isdirвместо них exists.
Ответы:
os.path.existsтакже вернется, Trueесли есть обычный файл с таким именем.
os.path.isdirвернется только в том Trueслучае, если этот путь существует и является каталогом или символической ссылкой на каталог.
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()не могу знать, существует ли каталог.
os.path.exists (путь) Возвращает True, если путь относится к существующему пути. Существующий путь может быть обычными файлами ( http://en.wikipedia.org/wiki/Unix_file_types#Regular_file ), так и специальными файлами (например, каталогом). По сути, эта функция возвращает истину, если указанный путь существует в файловой системе в какой-либо форме (несмотря на несколько исключений, таких как неработающие символические ссылки).
os.path.isdir (path), в свою очередь, вернет true только тогда, когда путь указывает на каталог
os.path.isdirвозвращается для меня по символической ссылке.