6.6 標準モジュール glob

 

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

glob (pathname)
pathname(パス指定を含んだ文字列でなければなりません)にマッチする パス名の(空かもしれない)リストを返します。 pathnameは絶対("/usr/src/Python-1.5/Makefile"のような) または相対("../../Tools/*.gif)パスでシェルスタイルのワイルドカード を含むことが出来ます。

例えば、ファイル"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']


guido@python.org