使用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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章