在处理大量文件夹时,批量重命名是一个常见的需求。Python 提供了强大的文件操作功能,可以轻松实现这一需求。以下是一个详细的步骤,教你如何用 Python 编写脚本批量重命名文件夹。
准备工作
在开始之前,请确保你的电脑上已经安装了 Python。你可以通过访问 Python 官网 下载并安装。
步骤 1:导入必要的库
首先,我们需要导入 os 库,它提供了与操作系统交互的功能。
import os
步骤 2:定义重命名函数
接下来,我们定义一个函数,用于重命名指定的文件夹。
def rename_folder(old_name, new_name):
try:
os.rename(old_name, new_name)
print(f"Folder '{old_name}' has been renamed to '{new_name}'")
except OSError as e:
print(f"Error: {e.strerror}")
这个函数接受两个参数:old_name 是原始文件夹名称,new_name 是新的文件夹名称。
步骤 3:遍历文件夹
现在,我们需要遍历指定目录下的所有文件夹,并对它们进行重命名。
def batch_rename_folders(directory, prefix):
for folder_name in os.listdir(directory):
old_name = os.path.join(directory, folder_name)
if os.path.isdir(old_name):
new_name = os.path.join(directory, f"{prefix}{folder_name}")
rename_folder(old_name, new_name)
这个函数接受两个参数:directory 是包含文件夹的目录,prefix 是要添加到每个文件夹名称前的前缀。
步骤 4:运行脚本
最后,我们可以在主函数中调用 batch_rename_folders 函数,并传入相应的参数。
if __name__ == "__main__":
directory = input("Enter the directory path: ")
prefix = input("Enter the prefix for the new folder names: ")
batch_rename_folders(directory, prefix)
这样,当你在命令行中运行脚本时,它会提示你输入目录路径和前缀,然后批量重命名该目录下的所有文件夹。
示例
假设你有一个名为 folders 的目录,其中包含以下文件夹:
folders/
├── folder1
├── folder2
└── folder3
你想要将它们重命名为以下格式:
folders/
├── new_folder1
├── new_folder2
└── new_folder3
运行脚本并输入以下信息:
Enter the directory path: folders
Enter the prefix for the new folder names: new_
脚本将输出:
Folder 'folder1' has been renamed to 'new_folder1'
Folder 'folder2' has been renamed to 'new_folder2'
Folder 'folder3' has been renamed to 'new_folder3'
现在,你的文件夹已经被成功重命名了。
