python 對文件夾重命名

 import os

    def rename_folders(root_dir, level=1, parent_prefix=''):
        # 計數器,用於生成唯一的名稱
        counter = 1

        # 遍歷文件夾
        for dirpath, dirnames, filenames in os.walk(root_dir):
            # 只處理文件夾(不處理文件)
            for dirname in dirnames:
                # 構建原始文件夾路徑
                old_path = os.path.join(dirpath, dirname)

                # 生成新的文件夾名稱前綴
                if level == 1:
                    # 一級目錄直接以0開頭遞增
                    new_prefix = f'0{counter:02d}'  # 使用三位數,不足部分用0填充
                else:
                    # 二級及以上目錄使用父級目錄的名稱和_作爲分隔符,再加上遞增的數字
                    new_prefix = f'{parent_prefix}_{counter:02d}'

                    # 檢查新名稱是否已經存在
                new_name = new_prefix
                new_path = os.path.join(dirpath, new_name)
                while os.path.exists(new_path):
                    # 如果存在,增加計數器
                    counter += 1
                    new_name = f'{new_prefix[:-3]}{counter:02d}' if '_' in new_prefix else f'0{counter:02d}'
                    new_path = os.path.join(dirpath, new_name)

                    # 重命名文件夾
                os.rename(old_path, new_path)
                print(f"Renamed {old_path} to {new_path}")

                # 遞歸處理子文件夾,並更新前綴和級別
                rename_folders(new_path, level + 1, new_name)
                # 重置計數器,因爲每個新的級別都需要從1開始計數
                counter = 1

                # 使用示例

    root_dir = "H:\\00002_zw"  # 替換爲您的根目錄路徑
    root_dir = "H:\\zw_new"  # 替換爲您的根目錄路徑
    rename_folders(root_dir)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章