递归遍历文件夹并重命名指定文件的脚本。

一个 Python 脚本,递归遍历指定的文件夹,获取所有子文件夹中的音频文件,并为每个文件加上对应的前缀,前缀由文件路径中的文件夹名组成。下面是实现该功能的 Python 代码示例

import os

def rename_audio_files(root_dir):
    # 遍历 root_dir 下的所有子文件夹和文件
    for dirpath, dirnames, filenames in os.walk(root_dir):
        # 过滤出音频文件(可以根据实际需求调整文件类型)
        audio_files = [f for f in filenames if f.endswith(('.mp3', '.wav', '.flac', '.ogg'))]
        
        # 获取文件夹路径中的各个层次的文件夹名
        relative_path = os.path.relpath(dirpath, root_dir)
        folder_names = relative_path.split(os.sep)  # 分割文件夹路径
        
        # 对当前文件夹中的所有音频文件进行重命名
        for audio_file in audio_files:
            # 组合前缀:文件夹1_文件夹2_文件夹3_ 原文件名
            prefix = "_".join(folder_names)
            new_file_name = f"{prefix}_{audio_file}" if prefix else audio_file  # 防止前缀为空
            
            # 构建原始文件和重命名后的完整路径
            old_file_path = os.path.join(dirpath, audio_file)
            new_file_path = os.path.join(dirpath, new_file_name)
            
            # 重命名文件
            os.rename(old_file_path, new_file_path)
            print(f"Renamed: {old_file_path} -> {new_file_path}")

# 示例:指定文件夹路径
root_directory = "/path/to/your/root/directory"  # 将此路径替换为实际文件夹路径
rename_audio_files(root_directory)
最后修改:2024 年 10 月 13 日
如果觉得我的文章对你有用,请随意赞赏