On Thu, 16 Feb 2012 13:46:18 +0100 Victor Stinner <victor.stin...@gmail.com> wrote: > > Let's try in a ext4 filesystem: > > $ ~/prog/python/timestamp/python > Python 3.3.0a0 (default:35d6cc531800+, Feb 16 2012, 13:32:56) > >>> import decimal, os, shutil, time > >>> open("test", "x").close() > >>> shutil.copy2("test", "test2") > >>> os.stat("test", timestamp=decimal.Decimal).st_mtime > Decimal('1329395871.874886224') > >>> os.stat("test2", timestamp=decimal.Decimal).st_mtime > Decimal('1329395871.873350282')
This looks fishy. Floating-point numbers are precise enough to represent the difference between these two numbers: >>> f = 1329395871.874886224 >>> f.hex() '0x1.3cf3e27f7fe23p+30' >>> g = 1329395871.873350282 >>> g.hex() '0x1.3cf3e27f7e4f9p+30' If I run your snippet and inspect modification times using `stat`, the difference is much smaller (around 10 ns, not 1 ms): $ stat test | \grep Modify Modify: 2012-02-16 13:51:25.643597139 +0100 $ stat test2 | \grep Modify Modify: 2012-02-16 13:51:25.643597126 +0100 In other words, you should check your PEP implementation for bugs. 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