2

我有一个缓存引擎来检查文件的最后一次修改时间。

该引擎一直运行良好,但最近我的测试开始因一个特定文件而失败。

getmtime()即使文件存在并且具有最后修改时间,该函数(或 stat.st_mtime)都返回零。文件夹中的所有其他失败都返回与最后一个 mod 日期时间相对应的预期浮动纪元时间值。

关于可能是什么原因的任何想法?该文档没有提到任何关于零返回值的内容,只是它返回一个浮点数。什么会导致python返回0.0?

给定一个现有的filepath(见下面的属性):

>>> os.path.exists(filepath)
True
>>> os.path.getmtime(cache_filepath)
0.0
>>> os.stat(filepath)
os.stat_result(st_mode=33206, st_ino=1125899907202573, st_dev=2898260115, st_nlink=1, st_uid=0, st_gid=0, st_size=36, st_atime=0, st_mtime=0, st_ctime=1508902786) 
>>> os.stat(filepath).st_time
0.0

文件路径属性

4

1 回答 1

2

我的错误 - 有问题的文件实际上设置为 0.0 mtime: 文件属性

PS:旁注 - 我进入这个的原因datetime.fromtimestamp是因为每当它获得 0.0 值时都会失败,结果证明这是 Python 3 错误: https ://bugs.python.org/issue29097

于 2017-12-13T18:09:57.233 回答