Python学习笔记-清除项目下SVN文件
2014-06-11 14:36
411 查看
主要是OS库等一些常用库的操作
import os import time import stat def clearSVN(destPath): if os.path.isdir(destPath) == False : return; else : destFileName = os.path.basename(destPath) print 'current dir name is %s' %destFileName if str(destFileName).find('svn') == -1 : print '%s is not svn file' %destFileName for fDir in os.listdir(destPath) : clearSVN(os.path.join(destPath, fDir)) else : print '%s is svn file' %destFileName os.chmod(destPath, stat.S_IMODE(os.stat(destPath)[stat.ST_MODE]) | stat.S_IREAD|stat.S_IWRITE) for root, dirs, files in os.walk(destPath, topdown=False): for fileN in files: try : f = os.path.join(root, fileN); os.chmod(f, stat.S_IMODE(os.stat(f)[stat.ST_MODE]) | stat.S_IREAD|stat.S_IWRITE) os.remove(f) except OSError as e: print f + 'remove error' + e.message finally : if os.path.exists(f) : os.system('del ' + f + ' /f /q') for dirN in dirs: print 'dirName is %s' %dirN try : print 'root is %s' %root os.chmod(root, stat.S_IMODE(os.stat(root)[stat.ST_MODE]) | stat.S_IREAD|stat.S_IWRITE) os.rmdir(root) except OSError as e: print root + 'remove error' + e.message finally : if os.path.exists(root) : os.system('del ' + root + ' /f /q') def search(destPath, destFile): if os.path.isdir(destPath) == False or os.path.isfile(destFile) == False : return for destF in os.listdir(destPath): if os.path.isfile(destF) and destF == os.path.basename(destFile) : return os.path.join(destPath, destF) elif os.path.isdir(destF) : search(os.path.join(destPath, destF), destFile) else : print 'can not find file %s' %destFile return None def iteratorHandle(srcPath, destPath, isNew = False): if os.path.isfile(srcPath) : destFile = search(destPath, srcPath) if destFile == None : if isNew == False : if os.path.isfile(srcPath) : try : os.chmod(srcPath, stat.S_IMODE(os.stat(srcPath)[stat.ST_MODE]) | stat.S_IREAD|stat.S_IWRITE) os.remove(srcPath) finally : os.system('del ' + srcPath + ' /F') else : print 'new file to add' else : newFileMT = time.localtime(os.stat(destFile).st_mtime) oldFileMT = time.localtime(os.stat(srcPath).st_mtime) if time.mktime(newFileMT) - time.mktime(oldFileMT) > 0 : oldFileDir = str(srcPath)[0:str(srcPath).rfind(os.path.sep)] oldFileName = os.path.basename(srcPath) oldFilenewName = str(srcPath)[0 : str(srcPath).rfind('.')] + '_backup' + str(srcPath)[str(srcPath).rfind('.') : ] os.rename(srcPath, os.path.join(oldFileDir, oldFilenewName)) open(os.path.join(oldFileDir, oldFileName), "wb").write(open(destFile, "rb").read()) elif os.path.isdir(srcPath) : for destFile in os.listdir(srcPath) : iteratorHandle(os.path.join(srcPath, destFile)) else : print 'iterator handle error' fileDir = 'C:\\Users\\Administrator\\Desktop\\project' clearSVN(fileDir)
相关文章推荐
- Python学习笔记--文件读写
- python学习笔记——文件
- Delphi学习笔记一——Delphi的项目文件简介
- Python 学习笔记——文件对象和操作
- python 系统学习笔记(八)---文件操作
- Python学习笔记---模块;文件与文本处理
- python学习笔记3-解析配置文件ConfigParser模块
- Python学习笔记——文件对象和操作(1)
- python学习笔记5-核心类型-元组和文件及其他
- python 学习笔记(11)XML文件
- VC++各工程项目含义及文件类型——学习笔记
- 关于svn学习笔记(如果项目中svn信息和图标不显示了,解决方法)
- Python学习笔记整理(七)Python中的元组和文件及其他
- Python学习笔记——文件对象和操作(2)
- Python学习笔记-XML大文件的XSD验证方法
- Python 学习笔记【文件对象】
- 终极ios学习笔记1.0.2-ios无法加载项目内资源文件
- Python学习笔记(三):文件和目录工具
- python学习笔记 目录和文件操作
- Python3.3 学习笔记6 - 文件