At the moment fnmatch.py (and therefore glob.py) support: * . [chars] [!chars] The attached version of fnmatch.py extends this to: * . [chars] [!chars] {one,two,...} There are 2 changes from the original fnmatch.py file: (1) The documentation for the fnmatch() function has been updated to reflect the new functionality (2) The translate() function has been completely replaced. I ran test_fnmatch.py and test_glob.py and both ran without errors.