changbo

python之删除30天以前的文件

      用户微信目录因常年累月用户上传图片较多,造成硬盘资源将耗尽,但客户要求至少保存一个月的文件,

然而几十万张图片的文件夹,不论是打开,排序删除都是非常消耗服务器性能的,因为装载这10多个G的文件必然会造成内存和CPU的

大量消耗,因此写了python脚本来自动删除30天以前的文件

代码如下

#-*- coding:utf-8 -*-
import os
import time
import datetime

class clean:
    def __init__(self, file_url):
        self.file_url = file_url
    def delfile(self):
        f =  list(os.listdir(self.file_url))
        print("%s\n  开始清理过期文件...." % self.file_url)
        for i in range(len(f)):
            filedate = os.path.getmtime(self.file_url + f[i])
            time1 = datetime.datetime.fromtimestamp(filedate).strftime(\'%Y-%m-%d\')
            date1 = time.time()
            num1 =(date1 - filedate)/60/60/24
            if num1 >= 30:
                try:
                    os.remove(self.file_url + f[i])
                    print(u"已删除文件:%s : %s" %  (time1, f[i]))            
                except Exception as e:                                             
                        print(e)                                          
        else:
            print("......")

file1 = clean(\'E:\\web\\WS3.0\\Upload\\android\\video\\\')
file1.delfile()
print(u\'过期文件已清理完毕:%s\n\' % file1.file_url)
 
file2 = clean(\'E:\\web\\WS3.0\\Upload\\android\\wechat\\\')
file2.delfile()
print(u\'过期文件已清理完毕:%s\n\' % file2.file_url)

file3 = clean(\'E:\\web\\WS3.0\\Upload\\eDog\\complain\\\')
file3.delfile()
print(u\'过期文件已清理完毕:%s\n\' % file3.file_url)

file4 = clean(\'E:\\web\\WS3.0\\Upload\\eDog\\shark\\\')
file4.delfile()
print(u\'文件夹已清理完毕:%s\n\' % file4.file_url)

file5 = clean(\'E:\\web\\WS3.0\\Upload\\Ticket\\\')
file5.delfile()
print(u\'文件夹已清理完毕:%s\n\' % file5.file_url)

效果图:

END!

 

分类:

技术点:

相关文章:

  • 2021-06-07
  • 2021-08-19
  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2022-02-11
  • 2022-12-23
相关资源
相似解决方案