mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Issue #16695: Document how glob handles filenames starting with a dot
This commit is contained in:
parent
0b785036ef
commit
2342784d28
3 changed files with 24 additions and 4 deletions
|
@ -16,8 +16,10 @@ according to the rules used by the Unix shell. No tilde expansion is done, but
|
||||||
``*``, ``?``, and character ranges expressed with ``[]`` will be correctly
|
``*``, ``?``, and character ranges expressed with ``[]`` will be correctly
|
||||||
matched. This is done by using the :func:`os.listdir` and
|
matched. This is done by using the :func:`os.listdir` and
|
||||||
:func:`fnmatch.fnmatch` functions in concert, and not by actually invoking a
|
:func:`fnmatch.fnmatch` functions in concert, and not by actually invoking a
|
||||||
subshell. (For tilde and shell variable expansion, use
|
subshell. Note that unlike :func:`fnmatch.fnmatch`, :mod:`glob` treats
|
||||||
:func:`os.path.expanduser` and :func:`os.path.expandvars`.)
|
filenames beginning with a dot (``.``) as special cases. (For tilde and shell
|
||||||
|
variable expansion, use :func:`os.path.expanduser` and
|
||||||
|
:func:`os.path.expandvars`.)
|
||||||
|
|
||||||
For a literal match, wrap the meta-characters in brackets.
|
For a literal match, wrap the meta-characters in brackets.
|
||||||
For example, ``'[?]'`` matches the character ``'?'``.
|
For example, ``'[?]'`` matches the character ``'?'``.
|
||||||
|
@ -52,6 +54,15 @@ preserved. ::
|
||||||
>>> glob.glob('?.gif')
|
>>> glob.glob('?.gif')
|
||||||
['1.gif']
|
['1.gif']
|
||||||
|
|
||||||
|
If the directory contains files starting with ``.`` they won't be matched by
|
||||||
|
default. For example, consider a directory containing :file:`card.gif` and
|
||||||
|
:file:`.card.gif`::
|
||||||
|
|
||||||
|
>>> import glob
|
||||||
|
>>> glob.glob('*.gif')
|
||||||
|
['card.gif']
|
||||||
|
>>> glob.glob('.c*')
|
||||||
|
['.card.gif']
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
|
|
10
Lib/glob.py
10
Lib/glob.py
|
@ -18,7 +18,10 @@ __all__ = ["glob", "iglob"]
|
||||||
def glob(pathname):
|
def glob(pathname):
|
||||||
"""Return a list of paths matching a pathname pattern.
|
"""Return a list of paths matching a pathname pattern.
|
||||||
|
|
||||||
The pattern may contain simple shell-style wildcards a la fnmatch.
|
The pattern may contain simple shell-style wildcards a la
|
||||||
|
fnmatch. However, unlike fnmatch, filenames starting with a
|
||||||
|
dot are special cases that are not matched by '*' and '?'
|
||||||
|
patterns.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return list(iglob(pathname))
|
return list(iglob(pathname))
|
||||||
|
@ -26,7 +29,10 @@ def glob(pathname):
|
||||||
def iglob(pathname):
|
def iglob(pathname):
|
||||||
"""Return an iterator which yields the paths matching a pathname pattern.
|
"""Return an iterator which yields the paths matching a pathname pattern.
|
||||||
|
|
||||||
The pattern may contain simple shell-style wildcards a la fnmatch.
|
The pattern may contain simple shell-style wildcards a la
|
||||||
|
fnmatch. However, unlike fnmatch, filenames starting with a
|
||||||
|
dot are special cases that are not matched by '*' and '?'
|
||||||
|
patterns.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if not has_magic(pathname):
|
if not has_magic(pathname):
|
||||||
|
|
|
@ -926,6 +926,9 @@ Tools/Demos
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
- Issue #16695: Document how glob handles filenames starting with a
|
||||||
|
dot. Initial patch by Jyrki Pulliainen.
|
||||||
|
|
||||||
- Issue #8890: Stop advertising an insecure practice by replacing uses
|
- Issue #8890: Stop advertising an insecure practice by replacing uses
|
||||||
of the /tmp directory with better alternatives in the documentation.
|
of the /tmp directory with better alternatives in the documentation.
|
||||||
Patch by Geoff Wilson.
|
Patch by Geoff Wilson.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue