閉じる

pathlibを使うとglobもopenも使わずにテキスト処理ができる[Python]

これまで特定のフォルダ内にあるテキストファイルを処理するときは、以下のようにglobをインポートして、ファイルパスのリストを作成した後に、with openでテキストを読み込むということをしていた。

from glob import glob
src = "./input_txt/*.txt"
for txt in glob(src):
with open(txt, "r") as f:
f.read()

パス指定の時にアスタリスクが入ったり、with openによる無駄なfが発生したり、無駄なインシデントが発生したりし、コードが汚い。

一方、pathlibをインポートすると、以下のようにコードがすっきりする。

from pathlib import Path
src = "./input_txt/"
for txt in Path(src).glob("*.txt"):
t = txt.open("r").read()

ちなみに、pathlibのglobで読み込むと、ファイルリストがリストではなく、イテレーターで返ってくるのでメモリのパンクが防止できる。この点もGood.

Pocket

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *

© 2020 CV・NLP TIPS | WordPress Theme: Annina Free by CrestaProject.