[Python-ideas] Optional argument to fnmatch functions treat * and ** differently
Aaron
lists at whitehouse.kiwi.nz
Tue Feb 28 16:27:08 EST 2017
Hello,
I would like fnmatch.fnmatch to have a mode where:
** matches any files and zero or more directories and
subdirectories (i.e. the current behaviour of *)
* matches in one path level/only to the next path separator
This is essentially achievable in glob.glob from version 3.5 (with
recursive=True), but glob is not suitable for my use case, as I need to
work with strings and not files. I would like to gauge whether adding
such behaviour behind an optional argument similar to glob's "recursive"
(e.g. "glob_asterisks=False") is likely to be accepted into the standard
library, before I start working on a patch.
I have seen people raise the question of how to achieve this in a number
of places. Somebody has also forked the Python 2 standard library
fnmatch module to implement this as a standalone library:
https://github.com/kianxineki/python-wildcard
(which shows that the actual changes are likely to be pretty small).
This request is also discussed in the following bug:
http://bugs.python.org/issue28718
Not directly on point, but some may find the discussion interesting:
http://stackoverflow.com/questions/18341848/fnmatch-and-recursive-path-match-with
http://stackoverflow.com/questions/27726545/python-glob-but-against-a-list-of-strings-rather-than-the-filesystem
I would appreciate any thoughts.
Kind regards,
Aaron
More information about the Python-ideas
mailing list