ふぁいる 詳細振り分け Rev.B | 60歳を迎えて、思うこと。

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

ふぁいる 詳細振り分け Rev.B

備忘録

ばっくあっぷ


# 2024-01-06-土曜日
# Imageデータ 【*.BMP】を処理する
# (1)【target_path】内に存在する【*.BMP】ファイルの拡張子を
# 大文字に統一する。
# (2)0kBファイルを【隔離】保留
# 「キーワード」に従いフォルダを作成し
# 同一「キーワード」に該当するファイルをサブフォルダにMoveする。
# 2024-02-12-月曜日_Rev.B
# 拡張子を最初に定義する。個々の処理で変更する必要なし化。
# =============== import
from pathlib import Path
import shutil
import os
# =============== 変数定義
target_path = 'D:\\_BMP'
ext_name = 'BMP'
# =============== CD チェンジディレクトリ
os.chdir(target_path)
cwd = os.getcwd()
print(cwd)
# =============== 基本(コピー元 ディレクトリの設定)
dir_path = (target_path)
# =============== 引数だけ「あり」な関数
# =============== 処理対象ファイルの指定 *.(ext_name)
def file_move(text):
        # ここが 関数の本文(実行する内容)
        print(text)
        os.makedirs((text), exist_ok=True)
        
        # 文字列 振り分け 先頭位置
    【旧】x_files = Path(dir_path).glob((text)+'*.BMP')
        x_files = Path(dir_path).glob((text)+'*.'+(ext_name))
        
        # 文字列 振り分け 任意位置
    【旧】# x_files = Path(dir_path).glob('*'+(text)+'*.BMP')
        # x_files = Path(dir_path).glob('*'+(text)+'*.'+(ext_name))
        
        for file in x_files:
            shutil.move((file), (text)+'/') 
        # print(text)

# =============== 振り分けするための サブフォルダ名の定義
# =============== 同時に振り分けのための「キーワード」の定義

 

# ===============

# ===============

# ===============

 

# ===============

print('正規表現の移動先フォルダ名設定')

 

re_folder_names = [

        '0_to_4',

        '5_to_9',

        'A_to_G',

        'H_to_N',

        'O_to_U',

        'V_to_Z',

        'あいうえお',

        'アイウエオ'

        ]

# =============== フォルダの作成

print('正規表現の移動先フォルダ作成')

for folder_name in re_folder_names:

    os.makedirs((folder_name), exist_ok=True)

 

# ===============

x_files = Path(dir_path).glob('[0-4]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "0_to_4/")

 

x_files = Path(dir_path).glob('[5-9]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "5_to_9/")

 

x_files = Path(dir_path).glob('[a-g]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "A_to_G/")

 

x_files = Path(dir_path).glob('[h-n]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "H_to_N/")

 

x_files = Path(dir_path).glob('[o-u]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "O_to_U/")

 

x_files = Path(dir_path).glob('[v-z]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "V_to_Z/")

 

print('正規表現の移動先フォルダ作成 あ~ん')

x_files = Path(dir_path).glob('[あ-ん]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "あいうえお/")

 

print('正規表現の移動先フォルダ作成 ア~ン')

x_files = Path(dir_path).glob('[ア-ン]*.'+(ext_name))

for file in x_files:

        shutil.move((file), "アイウエオ/")

       

print('振り分け、漢字のファイル名が、残った')

print('振り分け、漢字のファイル名が、残った')

print('振り分け、漢字のファイル名が、残った')

# =============== END END END END END