Python 批量重命名文件夹中的文件

该脚本用于批量重命名文件夹中的文件,将文件名保留到指定的某一部分。具体来看,文件名以分隔符 "_""." 分割,只保留文件名的前缀和扩展名。

代码块

import os

def rename_files(folder_path):
    """
    批量修改文件名,将指定子字符串从文件名中删除。

    参数:
    - folder_path (str): 文件夹路径。
    """
    for filename in os.listdir(folder_path):

        # 获取新文件名
        temp_name = filename.split('_')[0]
        new_filename = temp_name + '.' + filename.split('.')[-1]
        # 构造完整的文件路径
        old_file_path = os.path.join(folder_path, filename)
        new_file_path = os.path.join(folder_path, new_filename)
        # 重命名文件
        os.rename(old_file_path, new_file_path)
        print(f"Renamed: {filename} -> {new_filename}")

if __name__ == "__main__": 
    # 文件夹路径
    folder_path = r"E:\xxx"

    # 执行重命名
    rename_files(folder_path)

代码讲解

函数 rename_files(folder_path)
  1. os.listdir(folder_path)
    列出指定文件夹路径中的所有文件。

  2. filename.split('_')[0]
    通过 _ 分隔文件名,并提取分隔后的第一部分作为新文件名的主部分。

    • 示例:如果文件名是 "example_WI.tif"filename.split('_')[0] 会得到 "example"
  3. filename.split('.')[-1]
    通过 . 分隔文件名,并提取分隔后的最后一部分作为扩展名。

    • 示例:对于 "example_WI.tif"filename.split('.')[-1] 会得到 "tif"
  4. os.path.join(folder_path, filename)
    生成完整的文件路径。

  5. os.rename(old_file_path, new_file_path)
    使用 os.rename 将文件名从旧路径重命名为新路径。

主程序
  1. folder_path
    定义目标文件夹路径,程序将在该路径中操作文件名。

  2. 执行函数
    调用 rename_files(folder_path),批量修改目标路径中的文件名。


示例分析

假设文件夹 E:\_OrderingProject\F_IslandsBoundaryChange\c_GeeData\SIDs_Grid_Y20 下包含以下文件:

example_WI.tif
test_WI.tif
file_WI.tif

运行代码后,重命名过程如下:

原始文件名新文件名
example_WI.tifexample.tif
test_WI.tiftest.tif
file_WI.tiffile.tif

程序关键点

  1. 灵活性
    文件名可以根据不同的分隔符或规则进行修改。

  2. 通用性
    适用于任何文件类型,例如 .tif.jpg.png 等。

  3. 注意事项

    • 确保目标文件夹中没有同名文件,以避免覆盖。
    • 如果文件名中没有分隔符 _,可能导致重命名出错,可添加额外检查。

如果这对您有所帮助,希望点赞支持一下作者! 😊

file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值