如何利用Python批量重命名文件夹中的文件

 更新时间:2024年12月10日 09:16:04   作者:ThsPool  
这篇文章主要介绍了如何利用Python批量重命名文件夹中的文件,保留文件名的前缀和扩展名,通过指定分隔符分割文件名,代码展示了如何遍历文件夹中的文件,提取并重组文件名,最后使用os.rename函数进行重命名,需要的朋友可以参考下

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

代码块

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)

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

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

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

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

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

主程序

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

  • 执行函数调用 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

程序关键点

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

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

  • 注意事项

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

总结 

到此这篇关于如何利用Python批量重命名文件夹中文件的文章就介绍到这了,更多相关Python批量重命名文件夹文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python算法应用实战之栈详解

    Python算法应用实战之栈详解

    栈是什么,你可以理解为一种先入后出的数据结构(First In Last Out),一种操作受限的线性表。下面这篇文章主要给大家介绍了Python中栈的应用实战,文中给出了多个实例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • pandas factorize实现将字符串特征转化为数字特征

    pandas factorize实现将字符串特征转化为数字特征

    今天小编就为大家分享一篇pandas factorize实现将字符串特征转化为数字特征,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python随机数种子(random seed)的使用

    Python随机数种子(random seed)的使用

    在科学技术和机器学习等其他算法相关任务中,我们经常需要用到随机数,本文就详细的介绍一下Python随机数种子,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Python通过clr库实现与.NET互操作教程

    Python通过clr库实现与.NET互操作教程

    本文详细介绍了Python的clr库,用于在Python和.NET之间进行互操作,内容涵盖了安装配置、程序集加载、类型转换、对象操作、事件处理、异常处理以及高级功能等,通过实际应用案例,展示了如何在Python中利用.NET生态系统,需要的朋友可以参考下
    2025-11-11
  • pytorch的梯度计算以及backward方法详解

    pytorch的梯度计算以及backward方法详解

    今天小编就为大家分享一篇pytorch的梯度计算以及backward方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现设计模式之单例模式详解

    Python实现设计模式之单例模式详解

    这篇文章主要介绍了Python实现设计模式之单例模式详解,设计模式是指软件设计问题的推荐方案,设计模式一般是描述如何组织代码和使用最佳实践来解决常见的设计问题,需谨记一点:设计模式是高层次的方案,并不关注具体的实现细节,比如算法和数据结构,需要的朋友可以参考下
    2023-09-09
  • PyTorch的自适应池化Adaptive Pooling实例

    PyTorch的自适应池化Adaptive Pooling实例

    今天小编就为大家分享一篇PyTorch的自适应池化Adaptive Pooling实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现批量合并图片到word文档

    Python实现批量合并图片到word文档

    这篇文章主要为大家详细介绍了如何利用Python实现批量合并指定文件夹中的所有图片并插入到Word文档中并保存,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Python脚本生成exe的实用指南

    Python脚本生成exe的实用指南

    本文介绍了使用PyInstaller将Python脚本打包成.exe文件的简单方法,并提供了从准备工作到具体命令的一系列指导,包括如何安装PyInstaller、基础打包命令、修改输出目录、改变.exe文件名、隐藏黑窗口等实用技巧,需要的朋友可以参考下
    2026-04-04
  • Python动态可视化模块Pynimate初体验

    Python动态可视化模块Pynimate初体验

    Pynimate是python第三方用于动态可视化的数据模块,是一位专攻 Python 语言的程序员开发的安装包。本文将通过几个简单的示例,讲解一下Pynimate的使用方法,需要的可以参考一下
    2023-02-02

最新评论