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

 rm -r *.pyc

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


当前回答

添加到~/.bashrc:

pyclean () {
        find . -type f -name "*.py[co]" -delete
        find . -type d -name "__pycache__" -delete
}

这将删除所有.pyc和.pyo文件,以及__pycache__目录。它也非常快。

用法很简单:

$ cd /path/to/directory
$ pyclean

其他回答

此外,人们通常希望删除所有*。佩克,*。Pyo文件和__pycache__目录递归在当前目录中。

命令:

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

这比

$ find . -name "*.pyc" -exec rm -rf {} \;

不得不在M1上添加一些忽略参数:

pyclean --verbose . --ignore "Library",".Trash"  
find . -name "*.pyc" -exec rm -f {} \;

再加入另一种变体,你也可以像这样使用反引号:

rm `find . -name *.pyc`