「独学でイッキに学べるPython入門」 その4
# 「独学でイッキに学べるPython入門」 その4##『日経ソフトウエア』2022年05月号(p.006~p.032)## 目次## Part1 開発準備編(p.006~p.009)・・・省略# Part2 データ構造編(p.009~p.015)・・・省略# Part3 処理の仕組み編(p.015~p.009)・・・省略# Part4 開発実践編(p.026~p.009)# ■画像一括リサイズアプリを作ろう(p.026)# ①1つの画像のみリサイズ(p.026~p.029)# [STEP1]1枚の画像のみを無条件にリサイズ(p.027~p.029)→「その3」# [STEP2]1枚の画像のみ、ファイル名に文字列「cat」を含むならリサイズ(p.029~p.031)# [STEP3]すべての画像で、ファイル名に文字列「cat」を含むならリサイズ# ①1つの画像のみリサイズ(p.026~p.029)# [STEP1]1枚の画像のみを無条件にリサイズ(p.027~p.029)→「その3」# [STEP2]1枚の画像のみ、ファイル名に文字列「cat」を含むならリサイズ(p.029~p.031)# 段階2:ファイル名とフォルダ名を分離し、ファイル名を変数「fname」に格納(1)。# フォルダー名を「+」演算子で連結する形に変更(2)。## リスト2●[STEP2]のコード(段階2)from PIL import Image# (1)fname = 'mycat.jpg'# (2)img = Image.open('photo\\' + fname)img.thumbnail((150, 150))# 次の行は、記事では、「img.save(os.path.join('photo\\' + fname))」# となっていましたが、それではエラーが出てしまったので、リスト1の表記に戻しました。。img.save('photo\\' + fname)# リスト2●[STEP2]のコード(段階3)from PIL import Imagefname = 'mycat.jpg'# (3):重複している記述「'photo\\' + fname」を変数「fpath」にまとめる。fpath = 'photo\\' + fnameimg = Image.open(fpath)img.thumbnail((150, 150))img.save(fpath)# リスト2●[STEP2]のコード(段階4)# (4)-1:「os.path.join」関数を使うため、モジュール「os」をインポート。import osfrom PIL import Imagefname = 'mycat.jpg'# (4)-2:「'photo\\' + fname」を「os.path.join」関数を使った方法に変更。fpath = os.path.join('photo\\' + fname)img = Image.open(fpath)img.thumbnail((150, 150))img.save(os.path.join('photo\\' + fname))以上の実行結果は、リスト1の実行結果と同様に、130×150のJPEG画像になりました。