pathlibを使うとglobもopenも使わずにテキスト処理ができる[Python]
これまで特定のフォルダ内にあるテキストファイルを処理するときは、以下のようにglobをインポートして、ファイルパスのリストを作成した後に、with openでテキストを読み込むということをしていた。
from glob import globsrc = "./input_txt/*.txt"for txt in glob(src):with open(txt, "r") as f:f.read()パス指定の時にアスタリスクが入ったり、with openによる無駄なfが発生したり、無駄なインシデントが発生したりし、コードが汚い。
一方、pathlibをインポートすると、以下のようにコードがすっきりする。
from pathlib import Pathsrc = "./input_txt/"for txt in Path(src).glob("*.txt"):t = txt.open("r").read()ちなみに、pathlibのglobで読み込むと、ファイルリストがリストではなく、イテレーターで返ってくるのでメモリのパンクが防止できる。この点もGood.