我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
当前回答
全递归
ll **/**/*.pyc
rm **/**/*.pyc
其他回答
再加入另一种变体,你也可以像这样使用反引号:
rm `find . -name *.pyc`
全递归
ll **/**/*.pyc
rm **/**/*.pyc
我曾经用过一个别名
$ which pycclean
pycclean is aliased to `find . -name "*.pyc" | xargs -I {} rm -v "{}"'
如果你不再需要.pyc,你可以在终端中使用这一行:
export PYTHONDONTWRITEBYTECODE=1
如果你改变主意:
unset PYTHONDONTWRITEBYTECODE
添加到~/.bashrc:
pyclean () {
find . -type f -name "*.py[co]" -delete
find . -type d -name "__pycache__" -delete
}
这将删除所有.pyc和.pyo文件,以及__pycache__目录。它也非常快。
用法很简单:
$ cd /path/to/directory
$ pyclean