首页 > 编程知识 正文

用Python批量重命名文件

时间:2023-11-22 01:00:07 阅读:302408 作者:DYLM

本文将介绍如何使用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批量重命名文件,我们能够更加高效地管理和处理大量文件。以上示例介绍了如何批量重命名文件夹中的所有文件、按照规则重命名文件以及自定义规则批量重命名文件。通过灵活运用这些技巧,我们能够满足各种文件重命名的需求,提高工作效率。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。