清除所有__pycache__文件夹和.pyc/。python3项目中的Pyo文件。我见过许多用户建议将pyclean脚本与Debian捆绑在一起,但这并没有删除文件夹。在将文件推送到分布式交换机之前,我想要一个简单的方法来清理项目。
当前回答
你可以用下面的命令手动完成:
find . | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
这将从当前目录开始递归地删除所有.pyc和.pyo文件以及__pycache__目录。
其他回答
当我把pyclean误认为pycclean时,我自己找到了答案:
No command 'pycclean' found, did you mean:
Command 'py3clean' from package 'python3-minimal' (main)
Command 'pyclean' from package 'python-minimal' (main)
pycclean: command not found
运行py3clean。打扫得很干净。
尽可能的简单
#!/bin/bash
project_root_dir=$(pwd)
#
# function _dcache deletes __pycache__ folders floating around python modules
#
function _dcache() {
find "$project_root_dir/inb" -name "__pycache__" > pycache
while IFS= read -r cache_file; do
rm -r $cache_file
done < pycache
rm pycache
}
这是我在项目中使用的。你可以试试。
非常感谢其他的答案,基于他们,这是我用于我的Debian包的prerm文件:
#!/bin/sh
set -e
deb_package='package-name'
python_package='package_name'
if which pyclean >/dev/null 2>&1; then
py3clean -p $deb_package
else
dpkg -L $deb_package | grep ${python_package}$ | while read file
do
find ${file} -type d -name __pycache__ -exec rm -r {} \+
done
fi
因为这是一个Python 3项目,你只需要删除__pycache__目录——所有的.pyc/。Pyo文件在其中。
find . -type d -name __pycache__ -exec rm -r {} \+
或者更简单的形式,
find . -type d -name __pycache__ -delete
由于某些原因,这对我不起作用(文件被删除了,但目录没有),所以为了完整起见,我将两者都包括在内。
或者,如果你在一个受修订控制的目录中执行此操作,你可以告诉RCS递归忽略__pycache__文件夹。然后,在需要的时候,清理所有被忽略的文件。这可能会更方便,因为可能会有比__pycache__更多的东西要清理。
请到你的终端然后输入:
$rm __pycache__
它将被移除。
推荐文章
- 如何在一行中连接两个集而不使用“|”
- 从字符串中移除前缀
- 代码结束时发出警报
- 如何在Python中按字母顺序排序字符串中的字母
- 在matplotlib中将y轴标签添加到次要y轴
- 如何消除数独方块的凹凸缺陷?
- 为什么出现这个UnboundLocalError(闭包)?
- 使用Python请求的异步请求
- 如何检查一个对象是否是python中的生成器对象?
- 如何从Python包内读取(静态)文件?
- 如何计算一个逻辑sigmoid函数在Python?
- python: SyntaxError: EOL扫描字符串文字
- Pipenv:命令未找到
- 如何删除目录内的文件和文件夹?
- 根据Pandas中的另一列提取列值