ここでは、Python 3 で特定のフォルダ内のファイルを取得する方法について解説します。
glob.glob() による取得¶
フォルダ内のファイルの一覧を取得するのに簡単なのは、globモジュールを利用することです。 次の例のように、glob モジュールの glob メソッドで簡単にファイル名の配列を取得することができます。 次の例では ./tmp ディレクトリ内のファイルの一覧を取得しています。 「*」は、「全て」を表します。
import glob
files = glob.glob("./tmp/*")
for file in files:
print(file)
上の例では相対パスでフォルダを指定しましたが、もちろん絶対パスでもフォルダを指定することができます。
import glob
files = glob.glob("/tmp/tmp/*")
for file in files:
print(file)
特定の拡張子のファイルのみを取得する¶
さて、フォルダ内にある特定の拡張子のファイルのみを取得したい場合があります。 その場合は、「*.html」のように指定します。
import glob
files = glob.glob("/tmp/tmp/*.html")
for file in files:
print(file)
サブディレクトリ内のファイル一覧を取得する¶
いくつもサブディレクトリがあり、そのサブディレクトリ内の全てのファイルを取得したい場合は、「/tmp/**/*」のように指定します。
import glob
files = glob.glob("/tmp/**/*")
for file in files:
print(file)