Le Fri, 10 May 2013 15:46:21 +0200, Christian Heimes <christ...@python.org> a écrit :
> 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 d_ino and d_name members of struct dirent. > Linux, BSD and probably some other platforms also happen to provide > d_type. The other members of struct dirent (d_reclen, d_namlen) > aren't useful in Python space by themselves. > > d_type and st_mode aren't compatible in any way. As you know st_mode > also contains POSIX permission information. The file type is encoded > with a different set of bits, too. Future file types aren't mapped to > S_IF* constants for st_mode. Thank you and Ronald for clarifying. This does make the API design a bit bothersome. We want to expose as much information as possible in a cross-platform way and with a flexible granularity, but doing so might require a gazillion of namedtuple fields (platonically, as much as one field per stat bit). > For d_ino you also need the device number from the directory because > the inode is only unique within a device. But hopefully you've already stat'ed the directory ;) Regards Antoine. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com