【python】无聊之作:删除指定目录下的SVN文件
来源:互联网 发布:心动网络'有员工宿舍么 编辑:程序博客网 时间:2024/04/28 08:40
一、受SVN控制的目录结构示例:
SVNCleaner:
|- .svn
|- (源码文件)
|- src
|—-|- .svn
|—-|- (源码文件)
需要删除的是所有.svn目录及里面所有文件;
二、可能会碰到的问题
1、 目录权限问题:
在windows系统删除(win7)会碰到如下错误:
WindowsError: [Error 5] Access is denied
解决方案:
用 os.chmod(path, mode) 方法先进行权限提升
例:
#!/usr/bin/python
import os, sys, stat# Assuming /tmp/foo.txt exists, Set a file execute by the group.os.chmod("/tmp/foo.txt", stat.S_IXGRP)# Set a file write by others.os.chmod("/tmp/foo.txt", stat.S_IWOTH)print "Changed mode successfully!!
详见:http://www.tutorialspoint.com/python/os_chmod.htm
三、CODE:(完整源码)
# !/usr/bin/python
#coding=utf-8#author onebody# http://fcjblog.com http://blog.csdn.net/fcjblog
#http://hi.baidu.com/onebody83 http://weibo.com/hdxj http://t.qq.com/onebody# QQ:4308451import osimport statclass SVNCleaner():# 主程序 删除指定目录下的 .svn 文件夹rootdir = r"E:\grouwinshop_cms" # 需要处理的文件夹rootdir = unicode(rootdir, "utf8")def run(self):self.delSvnDir(self.rootdir)def delSvnDir(self, svnDir):for parent, dirnames, filenames in os.walk(svnDir):#目录处理 递归处理for dirname in dirnames:if dirname.find(".svn") >= 0:self.delFileFolder(os.path.join(svnDir, dirname))else:self.delSvnDir(os.path.join(svnDir, dirname))##删除些文件夹下所有文件和目录def delFileFolder(self, srcDir):if os.path.isfile(srcDir):try:#更改权限(win7会出现权限问题)os.chmod(srcDir, stat.S_IREAD | stat.S_IWRITE)os.remove(srcDir)except:passelif os.path.isdir(srcDir):for item in os.listdir(srcDir):itemsrc = os.path.join(srcDir, item)self.delFileFolder(itemsrc)try:#更改权限(win7会出现权限问题)os.chmod(srcDir, stat.S_IREAD | stat.S_IWRITE)os.rmdir(srcDir)except:pass#主程序执行#svnCleaner = SVNCleaner()svnCleaner.run()
链接:http://fcjblog.com/pytho-boredom-for-remove-svn-files-in-the-specified-directory
- 【python】无聊之作:删除指定目录下的SVN文件
- python 删除指定目录下的指定名字的文件
- 删除指定目录下的所有.svn文件
- JavaIO之删除指定目录(递归删除,先删除目录下的文件再删除目录)
- 新手学Python 删除指定目录下的所有文件
- [python]如何删除目录下指定格式的文件
- 删除指定目录下的文件
- 使用Python脚本删除指定文件夹下的指定目录及其文件
- python目录遍历和删除指定目录下的pyc文件
- 递归删除指定目录下的.svn文件夹
- PYTHON 列出指定目录下的文件
- NO.48 删除某目录下所有指定名称的目录(比如批量删除.svn目录)
- C# 删除指定目录下的 所有指定文件、文件夹
- 删除指定目录下指定类型的文件
- 并发删除指定目录下指定扩展名的文件
- 删除指定目录下指定的文件(非并发)
- 删除目录下.svn文件
- 删除指定目录下的所有文件包括目录
- TCP/IP和Socket的关系
- VS2005开发WinCE6.0应用程序 更换SDK后工程的移植
- 重写ProcessCmdKey后 ,按键老是发出错误提示音.
- C#程序只允许运行一个实例的解决方案
- 语文前五册通假字整理
- 【python】无聊之作:删除指定目录下的SVN文件
- android 程序分享。。
- ios 常用字符串的操作
- 树莓派(raspberry pi)能象Arduino一样外接传感器,控制器吗?
- Sqlite学习心得
- 初学Qt之--在C++程序中使用C函数
- android launcher桌面数字时钟及appwidget更新问题
- 使用 Sphinx 更好地进行 MySQL 搜索
- WINCE6.0文件系统选择