本文将介绍如何使用Python批量重命名文件,包括重命名文件夹中所有文件、按照规则批量重命名等。无论是在文件管理还是数据处理中,批量重命名文件能够提高工作效率,减少人为操作的出错风险。
一、重命名文件夹中的所有文件
首先,我们来介绍如何批量重命名文件夹中的所有文件。假设我们有一个包含多个文件的文件夹,我们希望统一修改这些文件的名称。
import os def rename_files(folder_path, new_name): file_list = os.listdir(folder_path) # 获取文件夹中的所有文件名 for file_name in file_list: old_path = os.path.join(folder_path, file_name) new_path = os.path.join(folder_path, new_name) os.rename(old_path, new_path) folder_path = 'path/to/folder' # 文件夹路径 new_name = 'new_name' # 新的文件名 rename_files(folder_path, new_name)
以上代码中,我们首先使用os.listdir函数获取文件夹中的所有文件名,然后使用os.rename函数对每个文件进行重命名。
二、按照规则批量重命名文件
除了统一修改文件名之外,有时候我们还需要按照一定的规则对文件进行批量重命名。下面是一个示例,展示如何根据文件的创建日期将文件重命名为年月日的格式。
import os import time def rename_files_by_date(folder_path): file_list = os.listdir(folder_path) # 获取文件夹中的所有文件名 for file_name in file_list: old_path = os.path.join(folder_path, file_name) file_stat = os.stat(old_path) file_date = time.strftime('%Y-%m-%d', time.localtime(file_stat.st_mtime)) new_name = file_date + '_file' # 新的文件名,以年月日_file形式命名 new_path = os.path.join(folder_path, new_name) os.rename(old_path, new_path) folder_path = 'path/to/folder' # 文件夹路径 rename_files_by_date(folder_path)
以上代码中,我们使用os.stat函数获取文件的创建日期,然后使用time.strftime函数将日期格式化为年月日的形式。最后,我们将新的文件名与文件夹路径拼接,并使用os.rename函数进行重命名。
三、自定义规则批量重命名文件
除了按照固定规则对文件进行批量重命名之外,我们还可以根据自定义的规则对文件进行重命名。下面是一个示例,展示如何使用正则表达式对文件名中的特定字符串进行替换。
import os import re def rename_files_by_pattern(folder_path, pattern, replacement): file_list = os.listdir(folder_path) # 获取文件夹中的所有文件名 for file_name in file_list: old_path = os.path.join(folder_path, file_name) new_name = re.sub(pattern, replacement, file_name) # 使用正则表达式进行替换 new_path = os.path.join(folder_path, new_name) os.rename(old_path, new_path) folder_path = 'path/to/folder' # 文件夹路径 pattern = r'pattern' # 正则表达式模式 replacement = 'replacement' # 替换字符串 rename_files_by_pattern(folder_path, pattern, replacement)
以上代码中,我们使用re.sub函数将文件名中匹配正则表达式模式的部分替换为指定的字符串。最后,我们将新的文件名与文件夹路径拼接,并使用os.rename函数进行重命名。
四、总结
通过Python批量重命名文件,我们能够更加高效地管理和处理大量文件。以上示例介绍了如何批量重命名文件夹中的所有文件、按照规则重命名文件以及自定义规则批量重命名文件。通过灵活运用这些技巧,我们能够满足各种文件重命名的需求,提高工作效率。