我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
当前回答
Django扩展
注意:这个答案非常特定于已经使用了Django Extension的Django项目。
python manage.py clean_pyc
实现可以在源代码中查看。
其他回答
找到。- name”*。Pyc ' -type f -delete
当然是最简单的。
find . -name "*.pyc"|xargs rm -rf
如果你不再需要.pyc,你可以在终端中使用这一行:
export PYTHONDONTWRITEBYTECODE=1
如果你改变主意:
unset PYTHONDONTWRITEBYTECODE
如果你使用bash >=4.0(或zsh)
rm **/*.pyc
注意*/*。Pyc选择直接的一级子目录下的所有. Pyc文件。Pyc递归地扫描整个目录树。以foo/bar/qux为例。Pyc将被rm **/*删除。Pyc而不是*/*. Pyc。
必须启用globstar shell选项。启用globstar:
shopt -s globstar
并检查其状态:
shopt globstar
你可以运行find。- name”*。Pyc " -type f -delete。
但要谨慎使用。首先运行查找。- name”*。Pyc”键入f以查看要删除的文件。
此外,确保-delete是命令中的最后一个参数。如果你把它放在名字*之前。Pyc参数,它将删除所有内容。