免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1197 | 回复: 0
打印 上一主题 下一主题

删除指定格式的文件 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-07-10 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-09 10:55 |只看该作者 |倒序浏览
尝试使用remove(),一直不知道怎么能够使用通配符,似乎也没找到说明。于是就自己弄了一个简单的小函数。默认删除当前目录下的所有指定类型的文件,包括子目录。
前面有一小段废代码,懒得删除了。因为我这边本来是用来代替makefile里面clean功能的。带了一个自己编译环境下的目录。后来删除其他文件的时候,就改成了现在这样子。
我知道有简单的方法实现这个功能,比如批处理。但是我就是想用一下新学习的Python。
clean_all.py
  1. #!/usr/bin/python

  2. """
  3. 2015.07.02
  4. Clean all the genrated files during compile.             Edited by Grey
  5. """

  6. import os,re

  7. def CleanAll(file_ext):
  8.     # remove all files in bin
  9.     for root,dirs,files in os.walk('./bin'):
  10.         for each_file in files:
  11.             try:
  12.                 os.chdir('./bin')
  13.                 os.remove(each_file)
  14.                 os.chdir('../')
  15.             except:
  16.                 pass
  17.     # remove all object files in source foulder
  18.     for root,dirs,files in os.walk('./'):
  19.         pwd = os.getcwd()
  20.         os.chdir(root)
  21.         object_file_list = [f for f in os.listdir('.') if f.endswith(file_ext)]
  22.         for file in object_file_list:
  23.             os.remove(file)
  24.         os.chdir(pwd)

  25. CleanAll('.o')
  26. CleanAll('.rar')
  27. CleanAll('.xls')
  28. CleanAll('.xlsx')
  29. CleanAll('.tmp')
  30. CleanAll('.txt')
  31. CleanAll('.lnk')
  32. CleanAll('.doc')
  33. CleanAll('.docx')
  34. CleanAll('.ppt')
  35. CleanAll('.pptx')
  36. CleanAll('.bak')
  37. CleanAll('.c')
  38. CleanAll('.h')
  39. CleanAll('.pdf')
  40. print "All the files and all the files in 'bin' have been removed!"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP