[Python-Dev] stat module in C -- what to do with stat.py?
Victor Stinner
victor.stinner at gmail.com
Fri Jun 21 00:58:44 CEST 2013
2013/6/20 Serhiy Storchaka <storchaka at gmail.com>:
> Now with enumerations in the stdlib the stat module constants are candidates
> for flag enumerations. How easy will be implement it on C?
Numerical values are less important than S_ISxxx() macros. Example:
#define S_ISDOOR(mode) (((mode)&0xF000) == 0xd000)
0xd000 is (stat.S_IFSOCK + stat.S_IFIFO).
And how do you represent the file mode with enums? I don't think that
enum should be used in the stat module.
I would prefer a stat object with methods than having to calls
low-level functions. Something like:
os.stat("document.txt").st_mode.is_reg()
versus
stat.S_ISREG(os.stat("document.txt").st_mode)
The idea was discussed in http://bugs.python.org/issue11406 to solve a
real API design issue. How should os.scandir() return the "is a
directory" information with a portable API.
I'm not saying that stat.S_ISREG should go away. The two approaches
are complementary.
Victor
More information about the Python-Dev
mailing list