我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:

 rm -r *.pyc

但它并没有像我想的那样递归遍历文件夹。我做错了什么?


当前回答

如果你想删除所有*。Pyc文件和__pycache__目录递归在当前目录:

python:

import os

os.popen('find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf')

或手动使用终端或cmd:

find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf

其他回答

找到。- name”*。Pyc ' -type f -delete

当然是最简单的。

全递归

ll **/**/*.pyc
rm **/**/*.pyc

如果你不再需要.pyc,你可以在终端中使用这一行:

export PYTHONDONTWRITEBYTECODE=1

如果你改变主意:

unset PYTHONDONTWRITEBYTECODE

Django扩展

注意:这个答案非常特定于已经使用了Django Extension的Django项目。

python manage.py clean_pyc

实现可以在源代码中查看。

Py3clean适合我!

cd /usr/local/lib/python3.9
sudo py3clean -v .