递归遍历文件夹并重命名指定文件的脚本。
一个 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)