4

我正在寻找一种解决方案来获取最后读取文件的时间。该文件不会被修改或创建,只是在阅读模式下打开。这有效,但仅适用于写入文件。如果我以读取模式打开文件,时间不正确:

f = open('my_path/test.txt', 'r')
f.close()

print time.ctime(os.stat('my_path/test.txt').st_mtime)

有什么提示吗?

4

1 回答 1

14

您正在查看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,但您可以重新启用它们

于 2013-05-09T14:32:41.937 回答