[Python-Dev] cpython: issue9584: Add {} list expansion to glob. Original patch by Mathieu Bridon
Georg Brandl
g.brandl at gmx.net
Thu Nov 8 21:43:19 CET 2012
On 11/06/2012 02:56 PM, tim.golden wrote:
> http://hg.python.org/cpython/rev/dafca4714298
> changeset: 80273:dafca4714298
> user: Tim Golden <mail at timgolden.me.uk>
> date: Tue Nov 06 13:50:42 2012 +0000
> summary:
> issue9584: Add {} list expansion to glob. Original patch by Mathieu Bridon
>
> files:
> Doc/library/glob.rst | 11 ++--
> Lib/glob.py | 65 ++++++++++++++++++++++--------
> Lib/test/test_glob.py | 64 +++++++++++++++++++++++++++++-
> Misc/NEWS | 3 +
> 4 files changed, 118 insertions(+), 25 deletions(-)
>
>
> diff --git a/Doc/library/glob.rst b/Doc/library/glob.rst
> --- a/Doc/library/glob.rst
> +++ b/Doc/library/glob.rst
> @@ -13,10 +13,10 @@
>
> The :mod:`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 :func:`os.listdir` and
> -:func:`fnmatch.fnmatch` functions in concert, and not by actually invoking a
> -subshell. (For tilde and shell variable expansion, use
> +``*``, ``?``, character ranges expressed with ``[]`` and list of options
> +expressed with ``{}`` will be correctly matched. This is done by using the
> +:func:`os.listdir` and :func:`fnmatch.fnmatch` functions in concert, and not by
> +actually invoking a subshell. (For tilde and shell variable expansion, use
> :func:`os.path.expanduser` and :func:`os.path.expandvars`.)
Needs a versionchanged.
In any case, brace expansion is not part of globbing (see the bash or zsh
manuals) because it does not generate valid file names, and it is a non-POSIX
expansion of some shells. Are you sure it should be put into the glob module?
(Not speaking of the backward incompatibility it creates.)
Georg
More information about the Python-Dev
mailing list