画像ファイルの一覧を渡して、縦長の画像だけ別ディレクトリに移動する、みたいなことやりたい Windowsでpythonが動けばいいのにと、試しにコマンドプロンプトからpythonが起動できた Cドライブのルート直下にPython310というディレクトリが作られており、全然記憶にないけど昔のオレありがとうだ
— MTAK | MiTaKa | ⋈ | (@lmtak) 2024年3月14日
ディレクトリパスが固定で、標準出力に bat ファイル用のスクリプトを書き出す python スクリプト
import os #-------------------- # $ pip install Pillow #-------------------- from PIL import Image #-------------------- # constant #-------------------- PATH = 'C:/path/to/dir' #-------------------- # output bat script to stdout #-------------------- def judge_portrait(path='.'): print('@echo off') print('mkdir portrait') with os.scandir(path) as it: for entry in it: if entry.is_file(): try: img = Image.open(PATH + '/' + entry.name) if img.height > img.width: # portrait print('move ' + entry.name + ' portrait/') except: pass #-------------------- # main #-------------------- judge_portrait(PATH)
出力を任意の bat ファイルに書き出すようにリダイレクトして、
その bat ファイルを指定したディレクトリにコピーしてから
コマンドプロンプトで実行する、みたいな使い方
コマンドラインオプションでディレクトリを指定できるようにしたり、
移動先ディレクトリの作成やファイル移動自体をpythonスクリプト内に実装してしまう、
みたいな発展が考えられそう