什么是最佳的清理Python 3项目中所有 __pycache__
文件夹和 .pyc/.pyo
文件的方法?我看到很多用户建议使用Debian捆绑的pyclean
脚本,但这不会删除文件夹。我想找到简单的方法在将文件推送到我的DVS之前清理项目。
什么是最佳的清理Python 3项目中所有 __pycache__
文件夹和 .pyc/.pyo
文件的方法?我看到很多用户建议使用Debian捆绑的pyclean
脚本,但这不会删除文件夹。我想找到简单的方法在将文件推送到我的DVS之前清理项目。
在项目工具窗口
中,右键单击要从中删除Python编译文件的项目或目录。
在上下文菜单中选择清除Python编译文件
。
所选目录中的.pyc
文件将被静默删除。
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
大多数时候,您的项目都是在源代码控制下进行管理;如果使用git
,可以直接运行git clean -d -f .
来清理非版本控制文件;如果Python缓存文件/目录在.gitignore
中,则还需要-x
(也删除被忽略的文件)或-X
(仅删除被忽略的文件)命令行开关。
请注意,如果有任何必须保存的临时文件,请在运行不带-X
的git clean
之前将它们移出本地存储库或添加到索引树中。
首先清空目录,然后再删除它们:
find ./ -type f -name '*.pyc' -delete -print && find ./ -type d -name '__pycache__' -delete -print
尽可能简单
#!/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
}
这是我在我的项目中使用的。你可以试试看。
为什么不直接使用rm -rf __pycache__
命令?然后运行git add -A
命令将其从您的代码库中删除,并将__pycache__/
添加到您的.gitignore文件中。
import os, shutil
def clean_all_from_junk(directory):
def delete_junk(f):
try:
shutil.rmtree(f)
except:
os.unlink(f)
msk_dirs = os.listdir(directory)
for f in msk_dirs:
if f.startswith('.') or f=='__pycache__' or f.endswith('txt'):
junk_p = os.path.join(directory, f)
print('deleted-->', junk_p)
delete_junk(junk_p)
else:
if os.path.isdir(f):
subfolder_p = os.path.join(directory, f)
clean_all_from_junk(subfolder_p)
return 'All cleaned!'
clean_all_from_junk('path/to/root/directory')
请直接进入您的终端,然后输入:
$rm __pycache__
并且它将被移除。
rm -r __pycache__
。 - Spartan