Не знаю, может в питоне для этого есть инструменты и проще. Тем не менее я столкнулся с такой проблемой и решил решить ее написав свой скрипт удаления. Я пока зеленый в мире питона и это мой первый делающий что-то полезное скрипт на этом языке.
К тому-же, так получилось что это еще и первая статья, открывающая рубрику Python на моем блоге! Надеюсь, будет интересно.
Скрипт удаления «*.pyc» файлов рекурсивно от текущей папки.
В двух словах — метод walk класса вызывает установленную функцию для каждого файла. У меня это функция deletePyc.
#!/usr/bin/python
import os,sys
print sys.version
def deletePyc(filename):
if filename[-3:] == 'pyc':
print '- ' + filename
os.remove(filename)
# else:
# print '+ ' + filename
class DirWalker(object):
"""taken from http://ssscripting.wordpress.com/2009/03/03/python-recursive-directory-walker/"""
def show(elem):
print elem
def walk(self,dir,meth=show):
dir = os.path.abspath(dir)
for file in [file for file in os.listdir(dir) if not file in [".",".."]]:
nfile = os.path.join(dir,file)
meth(nfile)
if os.path.isdir(nfile):
self.walk(nfile,meth)
a = DirWalker()
a.walk('.',deletePyc)
raw_input()
Конечно, я немного соврал, взяв код с чужого блога. Но с кем не бывает 🙂
Метки:разработка, Python
Похожие статьи
- 31 марта 2010 -- Чистка тестовой App Engine базы. (0)
- 30 июля 2010 -- DLR 1.0 на примере IronPython 2.6 (0)
- 2 апреля 2010 -- AppEngine валидация полей базы и формы (1)
- 19 мая 2010 -- Сюрприз от App Engine — Server Error (1)
- 5 апреля 2010 -- Чистим HTML в AppEngine (Sanitize HTML) (6)


14 марта, 2010 at 0:23
find . -name *pyc | xargs rm
17 августа, 2011 at 20:29
предложенная в комментарии команда
find . -name *pyc | xargs rmне будет работать.
Правильно так
find . -name '*.pyc' | xargs rmили так
find . -name \*.pyc | xargs rm27 августа, 2013 at 23:24
find -type f -iname «*.pyc» -delete