scandir direntry.stat() always returns st_ctime of 0 on Windows #117267
Labels
3.12
bugs and security fixes
3.13
bugs and security fixes
OS-windows
type-bug
An unexpected behavior, bug, or error
Bug report
Bug description:
In 3.12 on Windows, calling stat() on a direntry returned from os.scandir() always returns an st_ctime of 0:
In 3.10, this gave reasonable timestamps. In 3.12, it's always 0. This only affects os.scandir, not os.stat. I'm guessing it's related to this (https://docs.python.org/3/whatsnew/3.12.html#deprecated):
"The st_ctime fields return by os.stat() and os.lstat() on Windows are deprecated. In a future release, they will contain the last metadata change time, consistent with other platforms. For now, they still contain the creation time, which is also available in the new st_birthtime field. (Contributed by Steve Dower in gh-99726.)"
The os.stat results are as described, but maybe direntry.stat() was overlooked. I think it should also give st_ctime = st_birthtime for the compatibility period, like os.stat() is doing, not 0.
CPython versions tested on:
3.12
Operating systems tested on:
Windows
Linked PRs
The text was updated successfully, but these errors were encountered: