globモジュールはUnixシェルで使われている規則に従って指定されたパターン にマッチするすべてのパス名を見つけ出します。 ティルダの展開は行われませんが、*, ?と[]で 表現された文字範囲は正しくマッチします。 これはos.listdir()とfnmatch.fnmatch()関数を連係使用して 行われ、実際にサブシェルを呼び出すことで実行されてはいません。 (ティルダとシェル変数の展開用にはos.path.expanduser()と os.path.expandvars()を使用して下さい。)
例えば、ファイル"1.gif", "2.txt", および "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']