\section{Standard Module \sectcode{glob}}
\stmodindex{glob}
\renewcommand{\indexsubitem}{(in module glob)}

The \code{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 \verb\*\, \verb\?\, and character ranges
expressed with \verb\[]\ will be correctly matched.  This is done by
using the \code{os.listdir()} and \code{fnmatch.fnmatch()} functions
in concert, and not by actually invoking a subshell.  (For tilde and
shell variable expansion, use \code{os.path.expanduser(}) and
\code{os.path.expandvars()}.)

\begin{funcdesc}{glob}{pathname}
Returns a possibly-empty list of path names that match \var{pathname},
which must be a string containing a path specification.
\var{pathname} can be either absolute (like
\file{/usr/src/Python1.4/Makefile}) or relative (like
\file{../../Tools/*.gif}), and can contain shell-style wildcards.
\end{funcdesc}

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

\begin{verbatim}
>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
\end{verbatim}
