删除SVN目录和.o文件,svn目录.o,title = 'thi
文章由Byrx.net分享于2019-03-23 09:03:56
删除SVN目录和.o文件,svn目录.o,title = 'thi
title = 'this is a test for del svn directorys'import osimport sysimport statimport timeDEL_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 fdef 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 Falsedef 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 Falsedef 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)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()#该片段来自于http://byrx.net
评论关闭