
``glob`` --- Unix style pathname pattern expansion
**************************************************

**Source code:** Lib/glob.py

======================================================================

The ``glob`` module finds all the pathnames matching a specified
pattern according to the rules used by the Unix shell.  No tilde
expansion is done, but ``*``, ``?``, and character ranges expressed
with ``[]`` will be correctly matched.  This is done by using the
``os.listdir()`` and ``fnmatch.fnmatch()`` functions in concert, and
not by actually invoking a subshell.  Note that unlike
``fnmatch.fnmatch()``, ``glob`` treats filenames beginning with a dot
(``.``) as special cases.  (For tilde and shell variable expansion,
use ``os.path.expanduser()`` and ``os.path.expandvars()``.)

For a literal match, wrap the meta-characters in brackets. For
example, ``'[?]'`` matches the character ``'?'``.

glob.glob(pathname)

   Return a possibly-empty list of path names that match *pathname*,
   which must be a string containing a path specification. *pathname*
   can be either absolute (like ``/usr/src/Python-1.5/Makefile``) or
   relative (like ``../../Tools/*/*.gif``), and can contain shell-
   style wildcards. Broken symlinks are included in the results (as in
   the shell).

glob.iglob(pathname)

   Return an *iterator* which yields the same values as ``glob()``
   without actually storing them all simultaneously.

   New in version 2.5.

For example, consider a directory containing only the following files:
``1.gif``, ``2.txt``, and ``card.gif``.  ``glob()`` will produce the
following results.  Notice how any leading components of the path are
preserved.

   >>> import glob
   >>> glob.glob('./[0-9].*')
   ['./1.gif', './2.txt']
   >>> glob.glob('*.gif')
   ['1.gif', 'card.gif']
   >>> glob.glob('?.gif')
   ['1.gif']

If the directory contains files starting with ``.`` they won't be
matched by default. For example, consider a directory containing
``card.gif`` and ``.card.gif``:

   >>> import glob
   >>> glob.glob('*.gif')
   ['card.gif']
   >>> glob.glob('.c*')
   ['.card.gif']

See also:

   Module ``fnmatch``
      Shell-style filename (not path) expansion
