玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python源码实例_Python程序源代码_网站项目下载 > 正文内容

Python批量删除windows下svn文件夹的方法

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

本文为Python批量删除windows下的svn文件夹的方法。几乎每一个目录下都有svn文件夹,手动删除费时费力还容易出现纰漏,那可不可以用python脚本来解决这个事情呢?当然可以了,下面就为大家提供一段可以自动清理windows下svn文件夹的方法的代码示例。

这段Python批量删除windows下svn文件夹的方法的代码,有很详细的注释,第一段语句的含义都很清楚的标明了。

正文代码如下:

# -*- coding: cp936 -*-  
# 注明字符集  

# file:clearsvn.py 删除svn目录下的所有svn文件  
  
import os,win32con,win32api  
  
#清除文件名头尾的引号  
def trimpath(pathin):  

  #如果头部存在引号  
  if pathin[0] == '\"':  
    pathin = pathin[1:]  
      
  #如果尾部存在引号  
  if pathin[(len(pathin)-1)] == '\"':  
    pathin = pathin[:(len(pathin)-1)]  
    
  #返回清理首尾后的字串    
  return pathin  
  
  
def clearsvn(path):  
  #列出子目录  
  filenames = os.listdir(path)  
    
  for singlefile in filenames:  
      
    pathfile = path + '\\' + singlefile  
    #子目录判断是否为svn文件夹  
    if os.path.isdir(pathfile):  
        
      if singlefile.find('.svn') != -1:  
        #是的话清理文件夹后删除文件夹  
        deltree(pathfile)  
          
        print "清理目录:" + pathfile  
          
        #修改属性,同linux下chmod  
        win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
        #api删除空文件夹  
        os.rmdir(pathfile)  
      else:  
        #不是的话递归到下一层  
        clearsvn(pathfile)  

#www.iplaypython.com          
          
def deltree(path):  
    
  filenames = os.listdir(path)  
  #遍历所有子目录和文件夹  
  for singlefile in filenames:  
      
    pathfile = path + '\\' + singlefile  
    #如果是文件夹的话递归清理  
    if os.path.isdir(pathfile):  
        
      print "清理目录:" + pathfile  
      #修改属性,同linux下chmod  
      win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
      #递归到下一层  
      deltree(pathfile)  
      #api删除空文件夹  
      os.rmdir(pathfile)  
    #如果是文件的话则删除    
    if os.path.isfile(pathfile):  
        
      print "删除文件:" + pathfile  
      #修改属性,同linux下chmod  
      win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
      #api删除文件  
      os.remove(pathfile)  
  
          
if __name__=="__main__":  
  #提示用户输入目录路径  
  pathin = raw_input("拖放要删除文件所在目录到此:")  
    
  #清理字串首尾的引号  
  path = trimpath(pathin)  
    
  #确认文件夹  
  choose = raw_input("需要清理的文件夹为 [ " + path + " ] y/n?:")  
    
  if choose == 'y' or choose == 'Y':  
    #检查用户输入的目录是否存在,如果不存在则退出程序  
    if os.path.exists(path)==False:  
      print "输入的目录不存在!"  
      os._exit(1)  
  
    #遍历子文件夹进行删除  
    clearsvn(path)  
      
    print "清理完成!"  
    #运行结束暂停,显示友好信息  
    os.system('pause') 

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/code/c2553.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2015-12-25 16:12 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules