ふぁいる 詳細振り分け 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