一个简洁的Python清理脚本

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

#coding:utf-8
'''
Created on Aug 31, 2015

@author: mac
'''

import os,time,sys

def remove(path):
    """
    Remove the file or directory
    """
    if os.path.isdir(path):
        try:
            os.rmdir(path)
        except OSError,e:
            print "Unable to remove folder: %s"%path
            print "The Detail error is: %s"%e.getMessage()
    else:
        try:
            if os.path.exists(path):
                os.remove(path)
        except OSError,e:
            print "Unable to remove file: %s"%path
            print "The Detail error is: %s"%e.getMessage()
            
            
            
            
def cleanup(number_of_days,path):
    """
    Removes files from the passed in path that are older than or equal 
    to the number_of_days
    """
    time_in_sec=time.time()-(number_of_days*24*60*60)
    for root,dirs,files in os.walk(path,topdown=False):
        for file_ in files:
            full_path=os.path.join(root,file_)
            stat=os.stat(full_path)
            if stat.st_mtime<=time_in_sec:
                remove(full_path)
                
        if not os.listdir(root):
            remove(root)
    
if __name__ == '__main__':
    days, path = int(sys.argv[1]), sys.argv[2]
    cleanup(days, path)