
まくまく
プラグラミング言語「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