欢迎访问宙启技术站
智能推送

使用Python的rename()函数对文件进行递归重命名的方法

发布时间:2023-12-17 14:55:32

在Python中,可以使用os.rename()函数对文件进行重命名操作。os.rename()函数接受两个参数, 个参数为要重命名的文件名,第二个参数为新的文件名。

如果要对文件进行递归重命名,可以使用os.walk()函数来遍历文件夹及其子文件夹中的所有文件。os.walk()函数返回一个生成器对象,该对象可用于循环遍历文件夹中的所有文件和子文件夹。在遍历过程中,可以使用os.rename()函数对每一个文件进行重命名操作。

下面是一个对文件夹及其子文件夹中所有文件进行递归重命名的示例:

import os

def recursive_rename(path, old_name, new_name):
    for folder_name, subfolders, filenames in os.walk(path):
        for filename in filenames:
            if old_name in filename:
                file_path = os.path.join(folder_name, filename)
                new_file_name = filename.replace(old_name, new_name)
                os.rename(file_path, os.path.join(folder_name, new_file_name))

# 使用示例
path = 'path/to/directory'  # 替换为要重命名的文件夹路径
old_name = 'old_name'  # 替换为要被替换的文件名
new_name = 'new_name'  # 替换为新的文件名

recursive_rename(path, old_name, new_name)

上述示例中,recursive_rename()函数接受三个参数:文件夹路径、要被替换的文件名和新的文件名。在遍历文件夹过程中,如果发现文件名中包含要被替换的字符,就使用replace()函数将其替换为新的文件名,并使用os.rename()函数对文件进行重命名操作。

请注意,上述示例中的路径应根据实际情况进行替换。此外,要小心对文件进行重命名操作,因为重命名后的文件可能无法找到或可能导致其他问题。因此,在使用递归重命名时应格外小心,并确保事先备份文件。