删除项目中所有的__pycache__ 文件

本文深入探讨了Python中pycache机制的工作原理,包括.py文件如何被编译为.pyc文件,以及解释器如何利用这些预编译文件来提高运行效率。此外,还介绍了如何通过环境变量或代码实现pycache的关闭和清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

关于 pycache

当第一次运行 python 脚本时,解释器会将 *.py 脚本进行编译并保存到 __pycache__ 目录 
下次执行脚本时,若解释器发现你的 *.py 脚本没有变更,便会跳过编译一步,直接运行保存在 __pycache__ 目录下的 *.pyc 文件

 

干掉 pycache

1、单次关闭: 运行脚本时添加 -B 参数即可

2、永久关闭: 设置环境变量 PYTHONDONTWRITEBYTECODE=1 即可

3、一次递归删除

import os
def clear(filepath):
    files = os.listdir(filepath)
    for fd in files:
        cur_path = os.path.join(filepath, fd)            
        if os.path.isdir(cur_path):
            if fd == "__pycache__":
                print("rm %s -rf" % cur_path)
                os.system("rm %s -rf" % cur_path)
            else:
                clear(cur_path)

if __name__ == "__main__":
    clear("./")

 

转载于:https://www.cnblogs.com/lmh001/p/10057371.html

### 如何安全地删除 `migrations` 和 `__pycache__` 文件夹 为了安全地删除指定的文件夹,可以使用以下方法: 通过命令 `$ rm -rf migrations/ __pycache__/` 可以一次性清除项目的 `migrations` 和 `__pycache__` 文件夹[^1]。此操作会递归地删除这两个目录及其内部的所有内容。 另外,在数据库层面清理迁移记录时,可以通过 SQL 命令实现:`delete from django_migrations where app='yourappname';` 这一语句用于移除特定应用的相关迁移条目[^2]。 如果希望批量查找并删除多个位置中的 `__pycache__` 文件夹,则可以利用 `find` 命令配合管道符完成这一任务。具体命令如下所示: ```bash find xx/hn_docs_center -name "__pycache__" | xargs rm -rf ``` 上述脚本能够自动定位目标路径下的所有名为 `__pycache__` 的子目录,并将其彻底删除[^3]。 对于更复杂的场景或者频繁的操作需求来说,编写一个简单的 shell 脚本来自动化整个流程不失为一种高效的方式。例如下面这个例子展示了如何打包项目的同时去除 `.py` 源码文件只保留字节码版本: ```bash #!/usr/bin/env bash python3 -m compileall -b $1 find $1 -name '*.py' | xargs rm -f tar -czvf "$1.tar.gz" $1 ``` #### 注意事项 - 执行任何涉及数据销毁性质的指令前务必确认备份重要资料以防误删。 - 上述提到的各种方式均具备破坏力强的特点,请谨慎对待实际生产环境中运用此类技术手段。 ```bash $ rm -rf migrations/ __pycache__/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值