python清理一天之前的文件

网上脚本,我做的注释:
[[email protected] ~]# 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行,然后改下变量。

运行脚本结果如下:

[[email protected] ~]# 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/
时间: 2024-10-08 06:51:39

python清理一天之前的文件的相关文章

Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方

Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc

Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc 1. 俩个问题::识别垃圾文件与清理策略1 1.1. 文件类型:pic,doc,v,m cc,isho pose,prj,codelib,doc mana(inputmethod,acc)1 2. 如何识别垃圾文件2 2.1. 体积过小文件2 2.2. 过大文件2 2.3. 清理非文档类型(doc docx txt html )的文件2 2.4. 转换文件类型以及索引html即可2 2.5. 清理重复文件(此

一入python深似海--函数与文件

先上写干货,几个开源网站: github.com launchpad.net gitorious.org sourceforge.net freecode.com 今天介绍一下python函数和文件读写的知识. 函数 def print_two(*args):#That tells Python to take all the arguments to the function and then put them in args as a list arg1,arg2=args print "a

#批量清理某目录下的文件或移除某目录下的文件

#!/bin/bash  #批量清理某目录下的文件或移除某目录下的文件 basedir=/data/db/renewal/snapshots   #执行目录 clear_before_days=95       #清理的时间,100代表100天前的数据 logdir=/data/log/clear      #日志路径 log=$logdir/clear.log      #日志文件 file_key="snapshot"       #清理文件包含关键字 is_font=1     

Python抓取网页&批量下载文件方法初探(正则表达式+BeautifulSoup) (转)

Python抓取网页&批量下载文件方法初探(正则表达式+BeautifulSoup) 最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法. 一.用Python抓取网页 基本方法: [python] view plaincopyprint? import urllib2,urllib url = 'http://www.baidu.com' req 

python中用ElementTree.iterparse()读取xml文件中的多层节点

我在使用Python解析比较大型的xml文件时,为了提高效率,决定使用iterparse()方法,但是发现根据网上的例子:每次if event == 'end':之后elem.clear()或者是每次 if elem.tag == '':之后clear(),都只能去到当前标签的相关内容,如果想继续读取得到标签的子标签,则会返回为空,也就是取不到. 其实iterparse()方法的原理是当遇到标签的“>”符号时触发start,当遇到标签的结束标志是会触发end,比如: <item> <

Python学习系列(五)(文件操作及其字典)

Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如: 1 #coding:utf-8 2 fn='test1.py' 3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py 4 print 'reading pos:',fp.tell() 5 r=fp.read(20) #

Python模拟HTTP Post上传文件

使用urllib2模块构造http post数据结构,提交有文件的表单(multipart/form-data),本示例提交的post表单带有两个参数及一张图片,代码如下: #buld post body data boundary = '----------%s' % hex(int(time.time() * 1000)) data = [] data.append('--%s' % boundary) data.append('Content-Disposition: form-data;

python 从第二行开始读文件

python 从第二行开始读文件 filename = info.txtf = open('info.txt') next(f) for line in f: print(line) next()函数获取了第一行的数据,但没有做任何动作.这样其后的FOR循环就直接从第二行开始读取执行. 原文地址:https://www.cnblogs.com/ChenYi0919/p/8856553.html