使用python3 来完成批量替换文件名

使用 python 来完成批量文件名的替换

需求

有时候 有些图片需要我批量重命名,如果比较少的时候还好, 直接 rename 就行, 如果文件特别多批量命名 就比较重要了,比如 有一个文件夹有一组图片 是有序号的,但是名字没有意思,我想改变一下的他们的名字,变成一个有意义的名字

比如 下面一组图片 ,我希望把 ‘幻灯片’ 换成 ‘bs-01-’
img0
期望替换成 这样:
img1

脚本说明

核心 就是通过找到文件名 ,调用 os.rename() 来完成替换文件名称

脚本有三个参数

  • 第一个path 图片所在文件夹路径
  • 第二个old 想要替换的 字符
  • 第三个 new 替换为 新的字符
# -*- coding: utf-8 -*- 
import os

def batch_rename(path, old, new):
    """
    这个不改变文件的后缀名称 ,并且只替换换 .png 或者 .PNG 结尾的图片
    :param path: 文件夹路径
    :param old: 替换原来的名字
    :param new:  新的名字
    :return:
    """
    # 切换到 path 路径下面
    os.chdir(path)
    filenames = os.listdir(path=path)
    for filename in filenames:

        file, suffix = os.path.splitext(filename)
        if suffix == '.png' or suffix == '.PNG':
            file = file.replace(old, new)

            new_filename = file + suffix
            # 开始替换文件名称
            os.rename(filename, new_filename)
            print(f"{filename!r} rename-> {new_filename!r}  done.")


def start_rename():
    path = 'C:/Users/changfx/Documents/binary-search'
    old = '幻灯片'
    new = 'bs-01-'
    batch_rename(path=path, old=old, new=new)


if __name__ == '__main__':
    start_rename()
    pass

运行结果:
在这里插入图片描述
是不是很方便,再也不用担心大量文件如何重命名啦 。

分享快乐,留住感动. 2020-02-15 17:05:19 --frank
发布了112 篇原创文章 · 获赞 65 · 访问量 15万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章