python 遍历删除指定格式文件

本文介绍了一段Python脚本,用于在嵌入式开发环境中批量查找并删除.o中间文件。通过简单的命令行操作,可以实现文件的遍历删除或仅查看不删除,适用于清理项目构建产生的冗余文件。

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

代码放在自己电脑上总是找不到,那就放到博客里吧。

在做嵌入式开发的时候,总是会生成很多中间文件(如 .o 文件),所有有时候需要去查找删除这样的文件,所以就写了这个一个 python 脚本(参考网络实现)。

写这个文章的时候没有找到相关参考代码的出处,故没有参考索引,见谅。

代码

假定你将该代码命名为 rm_specifial_file.py

#!/user/bin/python
#coding:utf-8

import sys, os
import time

# 解决乱码问题
reload(sys)
sys.setdefaultencoding("utf-8")

def recursive_del_files(del_path, del_file_format, is_delete = False):
    del_file_list = []
    for root , dirs, files in os.walk(del_path):
        for name in files:
            for file_format in del_file_format:
                if name.endswith(file_format):
                    now = time.strftime("%Y-%m-%d %H:%M:%S")
                    if is_delete:
                        os.remove(os.path.join(root, name))
                    del_file = os.path.join(root, name)
                    del_file = "[ " + now + " ]" + " [ DELETE ]  " + del_file
                    del_file_list.append(del_file)
    return del_file_list

def recursive_del_file_write(filename, del_file_list):
    fopen = open(filename, 'a')
    for temp in del_file_list:
        fopen.write(temp+'\n')
    fopen.close()

if __name__ == '__main__':
    print("==== In main function of (%s) ====" % (__file__))
    print(sys.argv)
    is_delete = False

    if (len(sys.argv) == 2):
        if (sys.argv[1] == '-d'):
            is_delete = True
    removed_file_list = recursive_del_files(os.getcwd(), ['.o'], is_delete)
    recursive_del_file_write('removed_file.txt', removed_file_list)

运行

假定你将上述代码命名为 rm_specifial_file.py

只查看,不删除

python rm_specifial_file.py

运行后,查到的所有文件存储在当前目录下的 removed_file.txt 文件中。

遍历删除

python rm_specifial_file.py -d

使用 -d 参数来使能遍历删除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值