pythonsvn脚本如何进行文件删除

python svn脚本需要我们不断的学习,在学习的过程中我们会遇到不少的问题,首先我们来看看在文件删除上的相关问题介绍。python svn脚本很好用,但是如果要删除svn文件夹的绑定是个很麻烦的事情,每个目录下都有.svn的文件夹,必须全部删掉才行。

成都创新互联专注于中大型企业的成都网站设计、网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户上1000家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注品牌网站设计和互联网程序开发,在前进的路上,与客户一起成长!

手动删除费时费力,一般都写段脚本搞定,不过网上搜索出来的python脚本都太冗长了,一点也体现不出python的优势。如下,网上搜索到得代码:

代码
 

 
 
 
  1. #coding=utf-8  
  2. import os  
  3. import shutil  
  4. import sys  
  5. import stat  
  6. def deleteSubFile(svnpath):  
  7. names = os.listdir(svnpath)  
  8. for name in names:  
  9. fp = os.path.join( svnpath, name)  
  10. if (os.path.isfile(fp)):  
  11. os.chmod( fp, stat.S_IWRITE)  
  12. os.remove(fp)  
  13. else:  
  14. deleteSubFile(fp)  
  15. def deleteSVN(parentPath = None, dir = None):  
  16. if (dir != None and dir == '.svn'):  
  17. deleteSubFile(os.path.join( parentPath, dir))  
  18. shutil.rmtree(os.path.join( parentPath, dir), True, False)  
  19. print 'deleted ', os.path.join( parentPath, dir)  
  20. else:  
  21. if (dir != None):  
  22. filePath = os.path.join( parentPath, dir)  
  23. else:  
  24. filePath = parentPath 
  25. names = os.listdir(filePath)  
  26. for name in names:  
  27. fp = os.path.join( filePath, name)  
  28. if (os.path.isdir(fp)):  
  29. deleteSVN(filePath, name)  
  30. if len(sys.argv) < 2: 
  31. print 'Usage: python % ' % os.path.basename(sys.argv[0])  
  32. sys.exit(-1)  
  33. if os.path.isfile(sys.argv[1]):  
  34. print '请选择文件夹, 而不是文件'  
  35. else:  
  36. deleteSVN(parentPath = sys.argv[1]) 

其中实现功能的核心代码写得太过冗长,其实很简单的4行代码就能达到目的,如下:

 
 
 
  1. 1 import os  
  2. 2 for (p,d,f) in os.walk("要删除的目录路径"):  
  3. 3 if p.find('.svn')>0:  
  4. 4 os.popen('rd /s /q %s'%p) 

以上就是对python svn脚本的详细介绍。

分享文章:pythonsvn脚本如何进行文件删除
当前路径:http://www.zyruijie.cn/qtweb/news32/5382.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联