glob モジュールはUnix シェルで使われているルールに従って指定され
たパターンにマッチするすべてのパス名を見つけ出します。 チルダ展開は使えませ
んが、*、 ?と []で表される文字範囲には正しくマッチしま
す。これはos.listdir() 関数と fnmatch.fnmatch()関数を
一緒に使って実行されていて、 実際に subshell を呼び出しているわけではありま
せん。(チルダ展開とシェル変数展開を利用したければ、
os.path.expantion() とos.path.expandvars()を
使ってください。)
| pathname) |
pathname は( /usr/src/Python-1.5/Makefileのように)絶対パスでも いいし、(../../Tools/*/*.gifのように)相対パスでもよくて、シェル形式の ワイルドカードを含んでいてもかまいません。 結果には(シェルと同じく)壊れたシンボリックリンクも含まれます。
たとえば、次のファイルだけがあるディレクトリを考えてください: 1.gif、 2.txt、 and card.gif。glob()は次のような結果になり ます。 パスに接頭するどの部分が保たれているかに注意してください。
>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
参考: