Python获取文件的最后读取时间
我正在寻找一个解决方案,以获取文件最后读取的时间。仅在读取模式下打开时,不会修改或创建文件。这是有效的,但仅适用于在文件中写入。如果以读取模式打开文件,则时间不正确:Python获取文件的最后读取时间,python,time,file-access,Python,Time,File Access,我正在寻找一个解决方案,以获取文件最后读取的时间。仅在读取模式下打开时,不会修改或创建文件。这是有效的,但仅适用于在文件中写入。如果以读取模式打开文件,则时间不正确: f = open('my_path/test.txt', 'r') f.close() print time.ctime(os.stat('my_path/test.txt').st_mtime) 有什么提示吗?您看到的是stat结构中的错误条目。您想改用.st_atime值: print time.ctime(os.stat
f = open('my_path/test.txt', 'r')
f.close()
print time.ctime(os.stat('my_path/test.txt').st_mtime)
有什么提示吗?您看到的是
stat
结构中的错误条目。您想改用.st_atime
值:
print time.ctime(os.stat('my_path/test.txt').st_atime)
从:
-最近访问的时间st_atime
relatime
设置,其中atime
值仅在超过24小时后更新。您可以通过在fstab
中设置strictime
选项来更改此设置
Windows Vista还禁用了对
atime
的更新,但您可以。只有在资源管理器中打开文件,而不是在Python代码中打开文件时,此功能才起作用……在这种情况下,操作系统仅在Python不会触发的特定情况下更新访问时间。如果未更新atime
值,则没有其他指标显示上次访问文件的时间。这是什么平台,Windows?不,Linux(Ubuntu 12.04),但程序必须跨平台运行。到目前为止,我通过将文件名保存到一个新文件中解决了这个问题,但我发现它不太好。也许这是唯一的方法…@snowflake:看,你正在运行一个启用了relatime
的Linux系统<在这种情况下,code>atime每24小时只更新一次。嗯,谢谢Martijn。我尝试了这个方法,但如果在Python代码中以读取模式打开文件,它将不起作用。