[Python] windows下清理svn文件夹的python脚本 →→→→→进入此内容的聊天室

来自 , 2019-10-09, 写在 Python, 查看 188 次.
URL http://www.code666.cn/view/8d749ea5
  1. # -*- coding: cp936 -*-  
  2. # 注明字符集  
  3. # file:clearsvn.py 删除svn目录下的所有svn文件  
  4.  
  5. import os,win32con,win32api  
  6.  
  7. #清除文件名头尾的引号  
  8. def trimpath(pathin):  
  9.   #如果头部存在引号  
  10.   if pathin[0] == '\"':  
  11.     pathin = pathin[1:]  
  12.      
  13.   #如果尾部存在引号  
  14.   if pathin[(len(pathin)-1)] == '\"':  
  15.     pathin = pathin[:(len(pathin)-1)]  
  16.    
  17.   #返回清理首尾后的字串    
  18.   return pathin  
  19.  
  20.  
  21. def clearsvn(path):  
  22.   #列出子目录  
  23.   filenames = os.listdir(path)  
  24.    
  25.   for singlefile in filenames:  
  26.      
  27.     pathfile = path + '\\' + singlefile  
  28.     #子目录判断是否为svn文件夹  
  29.     if os.path.isdir(pathfile):  
  30.        
  31.       if singlefile.find('.svn') != -1:  
  32.         #是的话清理文件夹后删除文件夹  
  33.         deltree(pathfile)  
  34.          
  35.         print "清理目录:" + pathfile  
  36.          
  37.         #修改属性,同linux下chmod  
  38.         win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
  39.         #api删除空文件夹  
  40.         os.rmdir(pathfile)  
  41.       else:  
  42.         #不是的话递归到下一层  
  43.         clearsvn(pathfile)  
  44.          
  45.          
  46. def deltree(path):  
  47.    
  48.   filenames = os.listdir(path)  
  49.   #遍历所有子目录和文件夹  
  50.   for singlefile in filenames:  
  51.      
  52.     pathfile = path + '\\' + singlefile  
  53.     #如果是文件夹的话递归清理  
  54.     if os.path.isdir(pathfile):  
  55.        
  56.       print "清理目录:" + pathfile  
  57.       #修改属性,同linux下chmod  
  58.       win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
  59.       #递归到下一层  
  60.       deltree(pathfile)  
  61.       #api删除空文件夹  
  62.       os.rmdir(pathfile)  
  63.     #如果是文件的话则删除    
  64.     if os.path.isfile(pathfile):  
  65.        
  66.       print "删除文件:" + pathfile  
  67.       #修改属性,同linux下chmod  
  68.       win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)  
  69.       #api删除文件  
  70.       os.remove(pathfile)  
  71.  
  72.          
  73. if __name__=="__main__":  
  74.   #提示用户输入目录路径  
  75.   pathin = raw_input("拖放要删除文件所在目录到此:")  
  76.    
  77.   #清理字串首尾的引号  
  78.   path = trimpath(pathin)  
  79.    
  80.   #确认文件夹  
  81.   choose = raw_input("需要清理的文件夹为 [ " + path + " ] y/n?:")  
  82.    
  83.   if choose == 'y' or choose == 'Y':  
  84.     #检查用户输入的目录是否存在,如果不存在则退出程序  
  85.     if os.path.exists(path)==False:  
  86.       print "输入的目录不存在!"  
  87.       os._exit(1)  
  88.  
  89.     #遍历子文件夹进行删除  
  90.     clearsvn(path)  
  91.      
  92.     print "清理完成!"  
  93.     #运行结束暂停,显示友好信息  
  94.     os.system('pause')
  95. #//python/1189

回复 "windows下清理svn文件夹的python脚本"

这儿你可以回复上面这条便签

captcha