Blufflog

This blog is bluff

Python glob()

Pythonのglobモジュールでハマった。

Pythonglob.glob(pathname) は、pathnameのファイル一覧を返す。pathnameにはUNIXスタイルのパターン表現が使える。

foo/bar [Disc 1]/ 以下のFLACファイル一覧を取得するようなことをやろうとして次のコードを書いたが、うまく動かなかった。

glob.glob('foo/bar [Disc 1]/*.flac')

glob()の引数のパターンでは、角括弧(square brackets)はそのまま使えない。角括弧は次のようにエスケープする必要がある。

[ -> [[]
] -> []]

よって、次のコードが正解。

glob.glob('foo/bar [[]Disc 1[]]/*.flac')