Python directorio de archivos búsqueda profunda cambio de nombre por lotes

Python es tan fragante que de inmediato dejé el boost.h de C ++ en mi mano.
Guarde un código para referencia posterior.

import os


def rename_dfs(cur_path):
    file_names = os.listdir(cur_path)

    for old_name in file_names:
        # print(old_name)
        if os.path.isdir(os.path.join(cur_path, old_name)):
            rename_dfs(os.path.join(cur_path, old_name))
            continue

        new_name = old_name
        name_list = new_name.split('.')
        if name_list.count('in') > 0:
            name_list = list(filter(lambda x: x != 'in', name_list))
            new_name = '_'.join(name_list) + '.in'
        elif name_list.count('out') > 0:
            name_list = list(filter(lambda x: x != 'out', name_list))
            new_name = '_'.join(name_list) + '.out'

        os.renames(os.path.join(cur_path, old_name), os.path.join(cur_path, new_name))


# path为批量文件的文件夹根目录
path = '.\\workspace'
rename_dfs(path)

Supongo que te gusta

Origin blog.csdn.net/Tighway/article/details/108503232
Recomendado
Clasificación