find.find
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Tue Jan 9 19:13:38 EST 2007
In <eo15uq$hna$1 at ss408.t-com.hr>, Gigs_ wrote:
> import fnmatch, os
>
> def find(pattern, startdir=os.curdir):
> matches = []
> os.path.walk(startdir, findvisitor, (matches, pattern))
> matches.sort()
> return matches
>
> def findvisitor((matches, pattern), thisdir, nameshere): #
> for name in nameshere:
> if fnmatch.fnmatch(name, pattern):
> fullpath = os.path.join(thisdir, name)
> matches.append(fullpath)
>
> can someone explain why (matches, pattern) is doing in this two funct?
It's the first argument to `findvisitor()` which is invoked for every
directory level by `os.path.walk()`. `findvisitor()` adds all file names
that match `pattern` to the `matches` list.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list