Python批量删除windows下svn文件夹的方法,pythonsvn,本文为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.iplaypy.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') 

编橙之家文章,

评论关闭