Не знаю, может в питоне для этого есть инструменты и проще. Тем не менее я столкнулся с такой проблемой и решил решить ее написав свой скрипт удаления. Я пока зеленый в мире питона и это мой первый делающий что-то полезное скрипт на этом языке.
К тому-же, так получилось что это еще и первая статья, открывающая рубрику 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 rm
27 августа, 2013 at 23:24
find -type f -iname «*.pyc» -delete