MST

星途 面试题库

面试题:Python批量重命名文件技巧

假设在一个文件夹中有若干个文件,文件名格式为'原始名称_数字.扩展名',现在要求使用Python将这些文件批量重命名,新的文件名格式为'数字_原始名称.扩展名',请编写Python代码实现该功能。需要考虑文件路径的兼容性以及可能出现的文件重名问题。
49.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import os


def rename_files(folder_path):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            name, ext = os.path.splitext(file)
            parts = name.split('_')
            if len(parts) > 1 and parts[-1].isdigit():
                new_name = parts[-1] + '_' + '_'.join(parts[:-1]) + ext
                new_path = os.path.join(root, new_name)
                count = 1
                while os.path.exists(new_path):
                    new_name = f"{parts[-1]}_{count}_{'_'.join(parts[:-1])}{ext}"
                    new_path = os.path.join(root, new_name)
                    count += 1
                os.rename(os.path.join(root, file), new_path)


if __name__ == "__main__":
    folder_path = input("请输入文件夹路径: ")
    rename_files(folder_path)