python删除指定后缀名文件和目录

title = 'this is a test for del svn directorys'

import os
import sys
import stat
import time

DEL_DIR=['.svn', '.CVS']
DEL_FILE=['.bak', '.back','.o']
log='delsvn.log'

def creatlog(object):
    if os.path.isdir(object):
        name = object + "\\" + log
    else:
        return False
    f=open(name, "w+")

   return f


def writelog(object):
    t=time.strftime("%Y%m%d %H:%M:%S")

    if os.path.isdir(object):
        line=t+" delete dir:"+object+"\n"

    else:
        line=t+" delete file:"+object + "\n"
    loghandel.write(line)
    loghandel.flush()

def closelog():
        loghandel.close()

def isdeldir(object):
    if not os.path.isdir(object):
        return False
    path, curdir = os.path.split(object)

    if not curdir:
        return False

    for eachfile in DEL_DIR :
        if eachfile == curdir:
            return True

    return False

def isdelfile(object):
    if os.path.isfile(object):
        path, suff = os.path.splitext(object)

    else:
        return False

    if suff:
        for each in DEL_FILE :
            if each == suff:
                return True

    return False

def deldir(object):
    for file in os.listdir(object):
        file = os.path.join(object, file)

        if os.path.isdir(file):
            print("remove dir", file)
            os.chmod(file, stat.S_IWRITE|stat.S_IWOTH)
            deldir(file)
            writelog(file)

        elif os.path.isfile(file) :
            print("remove file", file)
            os.chmod(file, stat.S_IWRITE|stat.S_IWOTH)
            os.remove(file)
            writelog(file)
    os.rmdir(object)

#www.iplaypy.com

def delfile(object):
    if isdelfile(object):
        print("del file", object)
        try:
            os.remove(object)
        except IOError as e:
            print("error ,", e.message)
        writelog(object)


def deldirfile(object):
    if os.path.isdir(object):
        files=os.listdir(object)
        for file in files:
            file = os.path.join(object, file)
            if os.path.isdir(file):
                if isdeldir(file):
                    try:                   
                        deldir(file)
                    except IOError:
                        print ('error ', IOError.message)
                else:
                    deldirfile(file)       
            elif os.path.isfile(file):
                delfile(file)
    elif os.path.isfile(object) :       
        delfile(object)
    else:
        print ( "undefined " , object )

def main(object):
    curpath = os.curdir 
    if len(sys.argv) > 1:
        curpath = sys.argv[1]    
    try:
        print(curpath)
        global loghandel
        loghandel=creatlog(curpath)
        if not loghandel:
            print ("creat log error ", curpath)
        deldirfile(curpath)
        closelog()
    except IOError:
        print ("error is ", IOError.message)
    print ("end")


if __name__ == '__main__':
    main(sys.argv)
    if not loghandel.closed:
        loghandel.flush()
        closelog()