目次
概要
ディレクトリ内の画像をすべてリサイズしたいといった、あるディレクトリ内のファイルに同じ処理を行いたいというケースに使えるコードを紹介します。
ディレクトリ内の特定の拡張子のファイルを列挙する
あるディレクトリ内の特定の拡張子のファイルを列挙するコードを記載します。
In [1]:
指定ディレクトリ内の画像をリサイズして、別のディレクトリに保存する
先程のコードを利用して、あるディレクトリ内のすべての画像をリサイズして、別のディレクトリに保存するコードになります。
In [2]:
指定したディレクトリ内のファイルを再帰的に取得する
あるディレクトリの直下にあるファイルだけでなく、入れ子になったディレクトリ構造のすべてのファイルを再帰的に取得する場合は ` を
img_dir.glob(“*/“)` に変えます。
In [3]:
concurrent.futures を使った処理の並列化
各々のファイルに対して行う処理が独立している場合、並列化することで処理時間を短縮できます。
並列化には concurrent.futures
を利用します。
Python – concurrent.futures を使った並列化の方法について – pystyle
In [4]:
[True, True, True, True, True, True, True, True, True, True]
複数の引数を渡したい場合は、ThreadPoolExecutor.map()
の代わりに ThreadPoolExecutor.submit()
をお使いください。この記事で解説しています。
コメント