Android 清除临时文件,清空缓存

python 代码:

python 复制代码
import os
import shutil
import traceback


def delete_folder(path):
    if os.path.exists(path):
        print(f"删除文件夹: {path}")
        shutil.rmtree(path)
        print("删除完成")


def delete_file(path):
    if os.path.exists(path):
        print(f"删除文件: {path}")
        os.remove(path)
        print("删除完成")


def clean_project(src_root):
    for root, dirs, files in os.walk(src_root):
        try:
            for filename in files:
                apath = os.path.join(root, filename)
                # 文件大于10M就打印
                if os.path.getsize(apath) > 10 * 1024 * 1024:
                    print(f"文件: {apath} 大小: {os.path.getsize(apath) / (1024 ** 2):.2f}M")

            # 删除.gradle文件夹
            if ".gradle" in dirs:
                dir_path = os.path.join(root, ".gradle")
                dir_size = shutil.disk_usage(dir_path).used / (1024 ** 2)
                if dir_size > 5:
                    delete_folder(dir_path)
                else:
                    print(f"文件夹: {dir_path} 大小: {dir_size:.2f}M")

            # 删除.idea文件夹
            if ".idea" in dirs:
                delete_folder(os.path.join(root, ".idea"))

            # 删除.iml文件和local.properties文件
            for file in files:
                file_path = os.path.join(root, file)
                if file.endswith(".iml") or file == "local.properties":
                    delete_file(file_path)

            # 删除build文件夹
            if "build" in dirs:
                delete_folder(os.path.join(root, "build"))

            # 删除libs文件夹
            if "libs" in dirs:
                delete_folder(os.path.join(root, "libs"))

            # 删除androidTest文件夹
            if "androidTest" in dirs:
                delete_folder(os.path.join(root, "androidTest"))

            # 删除test文件夹
            if "test" in dirs:
                delete_folder(os.path.join(root, "test"))

        except:
            traceback.print_exc()


if __name__ == "__main__":
    src_root = r"F:\workcode\android_project"
    clean_project(src_root)
相关推荐
亿牛云爬虫专家18 分钟前
Worker越简单,系统越稳定:从单机到集群
爬虫·python·集群·爬虫代理·单机·代理ip·worker
smj2302_7968265242 分钟前
解决leetcode第3801题合并有序列表的最小成本
数据结构·python·算法·leetcode
少许极端1 小时前
Redis入门指南(五):从零到分布式缓存-其他类型及Java客户端操作redis
java·redis·分布式·缓存
AI数据皮皮侠1 小时前
中国乡村旅游重点村镇数据
大数据·人工智能·python·深度学习·机器学习
小北方城市网1 小时前
第 11 课:Python 全栈项目进阶与职业发展指南|从项目到职场的无缝衔接(课程终章・进阶篇)
大数据·开发语言·人工智能·python·数据库架构·geo
danyang_Q1 小时前
d2l安装(miniforge+cuda+pytorch)
人工智能·pytorch·python
源码梦想家2 小时前
多语言高性能异步任务队列与实时监控实践:Python、Java、Go、C++实战解析
开发语言·python
robotx2 小时前
安卓16屏保中的启用时机,选项不正确
android
JulyYu2 小时前
【Android】第三方库依赖引发的异常情况排查
android·android studio
C_心欲无痕2 小时前
网络相关 - 强缓存与协商缓存讲解
前端·网络·网络协议·缓存