继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python清理一天之前的文件

安卓开发学习视频
关注TA
已关注
手记 299
粉丝 78
获赞 601

[root@localhost ~]# vim clean_mon_mail.py

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import os

import time

import datetime

class umailmonmail:

    def __init__(self, mailpath):      #构造函数

        self.mailpath = mailpath       #给构造函数赋值

    def delmail(self):                 #定义删除邮件的函数,接收构造函数传过来的参数

        f =  list(os.listdir(self.mailpath))       #列出实例化的路径下面的文件

        print("%s\n  开始清理过期文件...." % self.mailpath)        #打印出要清理的路径,并打印开始清理过期文件

        for i in range(len(f)):            #len统计多少个文件,然后循环赋值给变量i。

            maildate = os.path.getmtime(self.mailpath + f[i])     #获取每个文件的时间的时间,f[i]是获取列表相应下标的值。

            mailtime = datetime.datetime.fromtimestamp(maildate).strftime('%Y-%m-%d')    #格式化时间

            currdate = time.time()         #当前时间

            num1 =(currdate - maildate)/60/60/24      #当前时间减去文件时间,然后换成乘天。 

            if num1 >= 1:

                try:

                    os.remove(self.mailpath + f[i])           #删除符合条件的文件,如果是目录会报错,不会删除

                    print(u"已删除文件:%s : %s" %  (mailtime, f[i]))

                except Exception as e:

                        print(e)

        else:

            print("......")

maildir = umailmonmail('/tmp2/')       #实例化umailmonmail类

maildir.delmail()        #运行类中的方法

print(u'过期文件已清理完毕:%s\n' % maildir.mailpath)

备注:如果要清理多个文件夹的,就再加最后这3行,然后改下变量。


运行脚本结果如下:

[root@localhost ~]# python clean_mon_mail.py 

/tmp2/

  开始清理过期文件....

已删除文件:2013-11-27 : CentOS-Base.repo

[Errno 21] Is a directory: '/tmp2/.ICE-unix'

已删除文件:2016-01-18 : umail.repo

已删除文件:2016-05-10 : yum.log

已删除文件:2013-11-27 : CentOS-Debuginfo.repo

已删除文件:2012-11-05 : epel-testing.repo

已删除文件:2012-11-05 : epel.repo

已删除文件:2013-11-27 : CentOS-Media.repo

已删除文件:2013-11-27 : CentOS-Vault.repo

已删除文件:2016-05-10 : ks-script-awqwgJ.log

已删除文件:2016-05-10 : ks-script-awqwgJ

......

过期文件已清理完毕:/tmp2/

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP