August 2018
Intermediate to advanced
366 pages
10h 14m
English
Practically, fnmatch can be used to recognize pieces of text separated by some kind of constant value.
For example, if I have a pattern that defines the type, name, and value of a variable separated by :, we can recognize it through fnmatch and then declare the described variable:
>>> def declare(decl):
... if not fnmatch.fnmatch(decl, '*:*:*'):
... return False
... t, n, v = decl.split(':', 2)
... globals()[n] = getattr(__builtins__, t)(v)
... return True
...
>>> declare('int:somenum:3')
True
>>> somenum
3
>>> declare('bool:somebool:True')
True
>>> somebool
True
>>> declare('int:a')
False
Where fnmatch obviously shines is with filenames. If you have a list of files, it's easy to extract only those that match a specific pattern: ...