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

在做嵌入式开发的时候,总是会生成很多中间文件(如 .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 参数来使能遍历删除。


Python      Python 遍历删除 删除指定文件

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

 目录

微信公众号:物联网学前班