| \section{Standard Module \sectcode{glob}} | 
 | \label{module-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. | 
 |  | 
 | \bcode\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}\ecode |