Hi, Gabriel Genellina schrieb am 03/27/2007 10:09 PM: > En Tue, 27 Mar 2007 18:42:15 -0300, Diez B. Roggisch <[EMAIL PROTECTED]> > escribió: > >> Paul McGuire schrieb: >>> On Mar 27, 10:18 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: >>>> Fabian Braennstroem wrote: >>>>> while iter: >>>>> value = model.get_value(iter, 1) >>>>> if value.endswith("."+ pattern): [...] >>>>> >>>>> Now, I would like to improve it by searching for different 'real' >>>>> patterns just like using 'ls' in bash. E.g. the entry >>>>> 'car*.pdf' should select all pdf files with a beginning 'car'. >>>>> Does anyone have an idea, how to do it? > >>>> Use regular expressions. They are part of the module "re". And if you >>>> use them, ditch your code above, and make it just search for a pattern >>>> all the time. Because the above is just the case of >>>> *.ext > >>> The glob module is a more direct tool based on the OP's example. The >>> example he gives works directly with glob. To use re, you'd have to >>> convert to something like "car.*\.pdf", yes? > >> I'm aware of the glob-module. But it only works on files. I was under >> the impression that he already has a list of files he wants to filter >> instead of getting it fresh from the filesystem. > > In that case the best way would be to use the fnmatch module - it already > knows how to translate from car*.pdf into the right regexp. (The glob > module is like a combo os.listdir+fnmatch.filter)
I have a already a list, but I 'glob' looked so easy ... maybe it is faster to use fnmatch. When I have time I try it out... Thanks! Fabian -- http://mail.python.org/mailman/listinfo/python-list