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)
相关推荐
啊森要自信1 分钟前
【GUI自动化测试】控件、鼠标键盘操作与多场景自动化
c语言·开发语言·python·adb·ipython
YJlio1 分钟前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
某林2122 分钟前
从底层硬件死锁到 QoS 通信底层的全链路复盘
python·ros2·qos
Jutick2 分钟前
WebSocket 连接没断,行情却停了:如何给实时数据流加双层 watchdog?
python
石头城的小石头3 分钟前
【从0到1的鼠标位置显示记录器,基于python环境pycharm下编译实施,最终打包为exe,欢迎交流】
python·目标跟踪·pycharm·计算机外设·鼠标
用户8356290780518 分钟前
Python 操作 Word 修订跟踪(Track Changes)
后端·python
电商API_1800790524714 分钟前
Python 实现闲鱼商品列表批量采集,接口异常重试机制搭建
大数据·开发语言·数据库·爬虫·python
放下华子我只抽RuiKe521 分钟前
FastAPI 全栈后端(四):认证与授权
开发语言·前端·javascript·python·深度学习·react.js·fastapi
焦虑的说说1 小时前
redis和数据库的一致性如何保证
数据库·redis·缓存
暗夜猎手-大魔王1 小时前
hermes源码学习8-上下文压缩与缓存
人工智能·缓存