On 02/15/2012 09:43 AM, Guido van Rossum wrote: > *Apart* from the specific use case of making an exact copy of a > directory tree that can be verified by other tools that simply compare > the nanosecond times for equality, A data point on this specific use case. The following code throws its assert ~90% of the time in Python 3.2.2 on a modern Linux machine (assuming "foo" exists and "bar" does not): import shutil import os shutil.copy2("foo", "bar") assert os.stat("foo").st_mtime == os.stat("bar").st_mtime The problem is with os.utime. IIUC stat() on Linux added nanosecond atime/mtime support back in 2.5. But the corresponding utime() functions to write nanosecond atime/mtime didn't appear until relatively recently--and Python 3.2 doesn't use them. With stat_float_times turned on, os.stat effectively reads with ~100-nanosecond precision, but os.utime still only writes with microsecond precision. I fixed this in trunk last September (issue 12904); os.utime now preserves all the precision that Python currently conveys. One way of looking at it: in Python 3.2 it's already pretty bad and almost nobody is complaining. (There's me, I guess, but I scratched my itch.) /arry
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4