当前位置: 代码网 > it编程>前端脚本>Python > 如何利用Python批量重命名文件夹中的文件

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

2024年12月11日 Python 我要评论
该脚本用于批量重命名文件夹中的文件,将文件名保留到指定的某一部分。具体来看,文件名以分隔符"_"和"."分割,只保留文件名的前缀和扩展名。代码块import o

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

代码块

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批量重命名文件夹文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com