2014-07-14 2:33 GMT+02:00 Ben Hoyt <benh...@gmail.com>: > If we go with Victor's link-following .is_dir() and .is_file(), then > we probably need to add his suggestion of a follow_symlinks=False > parameter (defaults to True). Either that or you have to say > "stat.S_ISDIR(entry.lstat().st_mode)" instead, which is a little bit > less nice.
You forgot one of my argument: we must have exactly the same API than os.path.is_dir() and pathlib.Path.is_dir(), because it would be very confusing (source of bugs) to have a different behaviour. Since these functions don't have any parameter (there is no such follow_symlink(s) parameter), I'm opposed to the idea of adding such parameter. If you really want to add a follow_symlink optional parameter, IMO you should modify all os.path.is*() functions and all pathlib.Path.is*() methods to add it there too. Maybe if nobody asked for this feature before, it's because it's not useful in practice. You can simply test explicitly is_symlink() before checking is_dir(). Well, let's imagine DirEntry.is_dir() does not follow symlinks. How do you test is_dir() and follow symlinks? "stat.S_ISDIR(entry.stat().st_mode)" ? You have to import the stat module, and use the ugly C macro S_ISDIR(). Victor _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com