6.24 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のように)相対パスでもよくて、シェル形式の ワイルドカードを含んでいてもかまいません。 結果には(シェルと同じく)壊れたシンボリックリンクも含まれます。

たとえば、次のファイルだけがあるディレクトリを考えてください: 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:モジュール
シェル形式の(パスではない)ファイル名展開.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。