您的位置:

使用Python批量重命名目录名称

一、准备工作

在进行批量重命名之前,我们需要先准备好一些工作。

首先,我们需要导入os模块,使用该模块中的函数进行文件操作。

import os

其次,我们需要确定待重命名的目录。可以使用os.chdir()函数切换到该目录下,这样后面的操作就默认在该目录下进行。

os.chdir('/path/to/your/directory')

最后,为了避免操作错误,我们可以先输出该目录下的所有文件夹名称,检查是否正确。

print(os.listdir())

二、批量重命名

有了准备工作后,就可以进行批量重命名了。

首先,我们需要使用os.listdir()函数获取该目录下所有文件夹的名称,并进行循环遍历。

for foldername in os.listdir():
    # 对每个文件夹的名称进行处理

接着,我们需要使用os.path.join()函数获取每个文件夹的完整路径,并使用os.rename()函数进行重命名。

for foldername in os.listdir():
    # 对每个文件夹的名称进行处理
    os.rename(os.path.join(os.getcwd(), foldername), os.path.join(os.getcwd(), new_foldername))

其中,new_foldername是我们要进行重命名后的新名称,可以根据需要进行修改。

三、修改文件夹名称的规则

文件夹名称的修改可以根据需求进行自定义,下面提供几种常用的规则作为示例。

1. 添加前缀或后缀

可以使用字符串拼接的方法,在原名称的前面或后面添加一定的前缀或后缀。

for foldername in os.listdir():
    new_foldername = 'prefix-' + foldername  # 添加前缀
    os.rename(os.path.join(os.getcwd(), foldername), os.path.join(os.getcwd(), new_foldername))
for foldername in os.listdir():
    new_foldername = foldername + '-suffix'  # 添加后缀
    os.rename(os.path.join(os.getcwd(), foldername), os.path.join(os.getcwd(), new_foldername))

2. 替换部分字符串

可以使用字符串的replace()方法,替换掉名称中的一些部分字符串。

for foldername in os.listdir():
    new_foldername = foldername.replace('old_string', 'new_string')  # 替换字符串
    os.rename(os.path.join(os.getcwd(), foldername), os.path.join(os.getcwd(), new_foldername))

3. 按照规律重命名

可以使用字符串格式化的方法,按照一定的规律进行重命名。

for i, foldername in enumerate(os.listdir()):
    new_foldername = 'new_name_{:02d}'.format(i+1)  # 按照规律重命名
    os.rename(os.path.join(os.getcwd(), foldername), os.path.join(os.getcwd(), new_foldername))

上述代码中,使用了enumerate()函数获得每个文件夹的序号i,然后使用字符串格式化,生成新的名称。

四、注意事项

在进行目录重命名时,需要注意以下几点:

1. 文件夹的名称不可重复,否则会提示错误。

2. 确保操作前备份重要文件,以免出现意外情况。

3. 执行操作前测试代码,避免出现不可预料的错误。