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

 rm -r *.pyc

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


当前回答

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

其他回答

添加到~/.bashrc:

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

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

用法很简单:

$ cd /path/to/directory
$ pyclean

如果您想删除项目文件夹中的所有.pyc文件。

首先,你有

cd <path/to/the/folder>

然后找到所有的.pyc文件并删除。

find . -name \*.pyc -delete

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

pyclean .

我曾经用过一个别名

$ which pycclean

pycclean is aliased to `find . -name "*.pyc" | xargs -I {} rm -v "{}"'

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