10.7. glob — Unix 形式のパス名のパターン展開 — Python 2.7ja1 documentation

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 10. ファイルとディレクトリへのアクセス »

# 10.7. `glob` — Unix 形式のパス名のパターン展開

`glob` モジュールはUnix シェルで使われているルールに従って指定されたパターンにマッチするすべてのパス名を見つけ出します。チルダ展開は使えませんが、 `*` 、 `?` と `[]` で表される文字範囲には正しくマッチします。これは `os.listdir()` 関数と `fnmatch.fnmatch()` 関数を一緒に使って実行されていて、実際に subshell を呼び出しているわけではありません。(チルダ展開とシェル変数展開を利用したければ、 `os.path.expanduser()` と `os.path.expandvars()` を使ってください。)

参考

最新バージョンの glob モジュールの Python ソースコード

`glob.` `glob`(pathname)

  pathname (パスの指定を含んだ文字列でなければいけません。)にマッチする空の可能性のあるパス名のリストを返します。

  pathname は( `/usr/src/Python-1.5/Makefile` のように)絶対パスでもいいし、(`../../Tools/*/*.gif` のように)相対パスでもよくて、シェル形式のワイルドカードを含んでいてもかまいません。結果には(シェルと同じく)壊れたシンボリックリンクも含まれます。

`glob.` `iglob`(pathname)

  実際には一度に全てを格納せずに、 `glob()` と同じ値を順に生成するイテレータを返します。

  バージョン 2.5 で追加.

たとえば、次の三つのファイルだけがあるディレクトリを考えてください: `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']

参考

Module `fnmatch`
  シェル形式の(パスではない)ファイル名展開

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 10. ファイルとディレクトリへのアクセス »