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

 rm -r *.pyc

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


当前回答

find . -name "*.pyc"|xargs rm -rf

其他回答

$ find . -name '*.pyc' -delete

这比

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

如果你想删除所有*。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

删除当前目录下的所有python编译文件。

find . -name "__pycache__"|xargs rm -rf
find . -name "*.pyc"|xargs rm -rf
find . -name "*.pyc" -exec rm -f {} \;

现在在PyPI上有一个包pyclean,它很容易使用,而且是跨平台的。用户只需要一个简单的命令行来清理当前目录下的所有__pycache__文件:

pyclean .