我正在寻找一种解决方案来获取最后读取文件的时间。该文件不会被修改或创建,只是在阅读模式下打开。这有效,但仅适用于写入文件。如果我以读取模式打开文件,时间不正确:
f = open('my_path/test.txt', 'r')
f.close()
print time.ctime(os.stat('my_path/test.txt').st_mtime)
有什么提示吗?
我正在寻找一种解决方案来获取最后读取文件的时间。该文件不会被修改或创建,只是在阅读模式下打开。这有效,但仅适用于写入文件。如果我以读取模式打开文件,时间不正确:
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)
从os.stat()
文档中:
st_atime
- 最近访问的时间,
请注意,并非所有系统都会更新atime
时间戳,请参阅对 atime 的批评。从 2.6.30 开始,Linux 内核默认使用该relatime
设置,其中atime
值仅在超过 24 小时后更新。strictatime
您可以通过在 中设置选项来更改此设置fstab
。
Windows Vista 也禁用了对 的更新atime
,但您可以重新启用它们。