11.7 glob -- Unix 形式のパス名のパターン展開

glob モジュールはUnix シェルで使われているルールに従って指定され たパターンにマッチするすべてのパス名を見つけ出します。 チルダ展開は使えませ んが、*?[]で表される文字範囲には正しくマッチしま す。これはos.listdir() 関数と fnmatch.fnmatch()関数を 一緒に使って実行されていて、 実際に subshell を呼び出しているわけではありま せん。(チルダ展開とシェル変数展開を利用したければ、 os.path.expantion()os.path.expandvars()を 使ってください。)

glob( pathname)
pathname (パスの指定を含んだ文字列でなければいけません。)にマッチする 空の可能性のあるパス名のリストを返します。

pathname は( /usr/src/Python-1.5/Makefileのように)絶対パスでも いいし、(../../Tools/*/*.gifのように)相対パスでもよくて、シェル形式の ワイルドカードを含んでいてもかまいません。 結果には(シェルと同じく)壊れたシンボリックリンクも含まれます。

iglob( pathname)
全ての値を一度に格納することなくglob()と同じ値を生成するすイ テレータを返します。 バージョン 2.5 で 新たに追加 された仕様です。

iglob( pathname)
実際には一度に全てを格納せずに、glob()と同じ値を順に生成するイテレータを返します。 バージョン 2.5 で 新たに追加 された仕様です。

たとえば、次のファイルだけがあるディレクトリを考えてください: 1.gif2.txt、 and card.gifglob()は次のような結果になり ます。 パスに接頭するどの部分が保たれているかに注意してください。

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']

参考:

fnmatch:モジュール
シェル形式の(パスではない)ファイル名展開.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。