- 论坛徽章:
- 1
|
尝试使用remove(),一直不知道怎么能够使用通配符,似乎也没找到说明。于是就自己弄了一个简单的小函数。默认删除当前目录下的所有指定类型的文件,包括子目录。
前面有一小段废代码,懒得删除了。因为我这边本来是用来代替makefile里面clean功能的。带了一个自己编译环境下的目录。后来删除其他文件的时候,就改成了现在这样子。
我知道有简单的方法实现这个功能,比如批处理。但是我就是想用一下新学习的Python。
clean_all.py- #!/usr/bin/python
-
- """
- 2015.07.02
- Clean all the genrated files during compile. Edited by Grey
- """
-
- import os,re
-
- def CleanAll(file_ext):
- # remove all files in bin
- for root,dirs,files in os.walk('./bin'):
- for each_file in files:
- try:
- os.chdir('./bin')
- os.remove(each_file)
- os.chdir('../')
- except:
- pass
- # remove all object files in source foulder
- for root,dirs,files in os.walk('./'):
- pwd = os.getcwd()
- os.chdir(root)
- object_file_list = [f for f in os.listdir('.') if f.endswith(file_ext)]
- for file in object_file_list:
- os.remove(file)
- os.chdir(pwd)
-
- CleanAll('.o')
- CleanAll('.rar')
- CleanAll('.xls')
- CleanAll('.xlsx')
- CleanAll('.tmp')
- CleanAll('.txt')
- CleanAll('.lnk')
- CleanAll('.doc')
- CleanAll('.docx')
- CleanAll('.ppt')
- CleanAll('.pptx')
- CleanAll('.bak')
- CleanAll('.c')
- CleanAll('.h')
- CleanAll('.pdf')
- print "All the files and all the files in 'bin' have been removed!"
复制代码 |
|