Как удалить все файлы .pyc из проекта? - PullRequest
633 голосов
/ 24 апреля 2009

Я переименовал некоторые файлы в довольно большом проекте и хочу удалить файлы .pyc, которые они оставили. Я пробовал скрипт bash:

 rm -r *.pyc

Но это не повторяется по папкам, как я думал. Что я делаю не так?

Ответы [ 18 ]

8 голосов
/ 13 декабря 2015

Django Extension

Примечание. Этот ответ очень специфичен для проекта Django , который уже использует расширение Django .

python manage.py clean_pyc

Реализацию можно посмотреть в ее исходный код .

8 голосов
/ 29 мая 2009

Просто, чтобы добавить другой вариант в микс, вы также можете использовать обратные кавычки, например:

rm `find . -name *.pyc`
7 голосов
/ 03 сентября 2012

полная рекурсия

ll **/**/*.pyc
rm **/**/*.pyc
3 голосов
/ 12 мая 2018

если вы больше не хотите .pyc, вы можете использовать эту строку в терминале:

export PYTHONDONTWRITEBYTECODE=1

если вы передумаете:

unset PYTHONDONTWRITEBYTECODE
3 голосов
/ 31 октября 2014

Первый запуск:

find . -type f -name "*.py[c|o]" -exec rm -f {} +

Затем добавьте:

export PYTHONDONTWRITEBYTECODE=1

К ~ / .profile

2 голосов
/ 20 ноября 2014
find . -name "*.pyc"|xargs rm -rf
2 голосов
/ 24 апреля 2009

rm -r повторяется в каталогах, но только каталоги, которые вы предоставляете rm. Это также удалит эти каталоги. Одно из решений:

for i in $( find . -name *.pyc )
do
  rm $i
done

find рекурсивно найдет все файлы * .pyc в текущем каталоге, а цикл for будет перебирать список найденных файлов, удаляя каждый из них.

1 голос
/ 11 октября 2018

Вы можете запустить find . -name "*.pyc" -type f -delete.

Но используйте его с осторожностью. Сначала запустите find . -name "*.pyc" -type f, чтобы увидеть, какие именно файлы вы будете удалять.

Кроме того, убедитесь, что -delete является последним аргументом в вашей команде. Если вы поставите его перед аргументом -name * .pyc, он удалит все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...