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. (For
tilde and shell variable expansion, use os.path.expanduser()
and os.path.expandvars().)
-
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).
-
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']
See Also:
- Module fnmatch:
- Shell-style filename (not path) expansion.
Release 2.5.2, documentation updated on 21st February, 2008.
See About this document... for information on suggesting changes.
|