【応急措置】globでファイル取得。jpgとjpegのように複数の拡張子を取得したい

まくまく
まくまく
プラグラミング言語「PYTHON」を使ってみよう!!業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。今回はglobで複数の拡張子ファイルを取得してみようと思います。



使用するのはglob

使用するのは、ファイル取得ができるglobライブラリです。ここではglobがインストールされているのを前提として書き進めていきます。

問題点

例えば下記の記事のように画像を一括でリサイズするとき、フォルダに入っているファイルを読み込んで処理をさせますが、、、

>>>【Python】Pillow 複数の画像を一括でリサイズする方法

写真の場合、拡張子が.jpgや.jpegなど微妙に異なっているものがあります。

globで「img_files = glob.glob(‘*.jpg‘) 」と記載したら、「.jpg」ファイルしか読み込んでくれません。

それか、「img_files = glob.glob(‘*.jpeg‘) 」と記載したら、「.jpeg」ファイルしか読み込んでくれません。

フォルダに「.jpg」と「.jpeg」が混在していると片方しか読み込んでくれないのですよね。

応急措置

対策を調べていると、globで複数の拡張子というものがけっこう難しいみたい。できないことないですが、1行でシンプルに書くということはできないようです。

そこで気付いたのですが、jpgもjpegも同じj始まりだからいけるんじゃない??

試しに「img_files = glob.glob(‘*.j*’) 」と記載すると両方の拡張子を取得することができました。jで始まる文字列という意味です。

エクセルファイルでも使えそうですね。xlsxとかxlsとかxlsmとか。

ただし、これだとjpgとpngなど異なる種類の読み込みはできません。なんちゃってじゃなくて、きちんとしたプログラムを書きましょうww



タイトルとURLをコピーしました