Mydjango app
分析用户。它用户上载的文件可能会在服务器中长时间保留,而不会被解析应用程序。这个如果很多用户上传了很多文件,文件的大小会增加。在
我需要删除那些最近没有被应用程序解析的文件,比如not accessed for last 24 hours
import os
import time
dirname = MEDIA_ROOT+my_folder
filenames = os.listdir(dirname)
filenames = [os.path.join(dirname,filename) for filename in filenames]
for filename in filenames:
last_access = os.stat(filename).st_atime #secs since epoch
rtime = time.asctime(time.localtime(last_access))
print filename+'----'+rtime
这显示了每个文件的上次访问时间..但我不确定如何测试文件访问时间是否在最近24小时内..有人能帮我吗?在
为什么要纠结于实际的约会呢?只需检查
os.stat(filename).st_atime < time.time() - 24*60*60
。在签出
time.time()
。它将允许您访问当前的时间戳,以utc时间为单位。然后可以从文件时间戳中减去当前的戳,看看它是否大于24*60*60。在http://docs.python.org/library/time.html#time.time
另外,请记住,很多时候,Linux文件系统都是用noatime挂载的,这意味着可能不会填充st_atime变量。为了安全起见,您可能应该使用st_mtime,除非您百分之百地确定文件系统总是在安装时记录时间。在
这是一个有效的例子,我还没有调试过。在
相关问题 更多 >
编程相关推荐