[Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Fri May 10 17:01:06 CEST 2013
- Previous message: [Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info
- Next message: [Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Le Fri, 10 May 2013 23:53:37 +1000, Nick Coghlan <ncoghlan at gmail.com> a écrit :
On Fri, May 10, 2013 at 11:46 PM, Christian Heimes <christian at python.org> wrote: > Am 10.05.2013 14:16, schrieb Antoine Pitrou: >> But what if some systems return more than the file type and less >> than a full stat result? The general problem is POSIX's terrible >> inertia. I feel that a stat result with some None fields would be >> an acceptable compromise here. > > POSIX only defines the dino and dname members of struct dirent. > Linux, BSD and probably some other platforms also happen to provide > dtype. The other members of struct dirent (dreclen, dnamlen) > aren't useful in Python space by themselves. > > dtype and stmode aren't compatible in any way. As you know stmode > also contains POSIX permission information. The file type is encoded > with a different set of bits, too. Future file types aren't mapped > to SIF* constants for stmode.
Why are we exposing a bitfield as the primary Python level API, anyway? It makes sense for the well defined permission bits, but why are we copying the C level concept for the other flags?
Precisely because they are not well-defined, hence any interpretation by us may be incorrect or incomplete (e.g. obscure system-specific bits).
Regards
Antoine.
- Previous message: [Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info
- Next message: [Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]