gpt4 book ai didi

python - 获取文件的最后访问时间?

转载 作者:太空狗 更新时间:2023-10-29 21:40:25 24 4
gpt4 key购买 nike

我想获取上次访问文件的时间,我尝试了以下代码:

import os, time

os.system("python test.py")
print os.stat('test.py').st_atime

time.sleep(60)

os.system("python test.py")
print os.stat('test.py').st_atime

但是每次输出都是一样的:

1358489344.72
1358489344.72

我预计延迟前和延迟后的输出会有所不同。我每次运行代码时输出也是相同的。

有什么问题吗?

最佳答案

字段 st_atime 被文件访问更改,例如,通过 execve(2)、mknod(2)、pipe(2)、utime(2) 和 read(2)(超过零字节)。其他例程,如 mmap(2),可能更新也可能不更新 st_atime。

当您运行“python test.py”时,它不会调用 read(2),而是调用 mmap(2)。这就是访问时间没有更新的原因。

这里是“strace python test.py”的输出

open("test.py", O_RDONLY)               = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=36, ...}) = 0
mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ad626cdd000

关于python - 获取文件的最后访问时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com