A little assistance with os.walk please.
KraftDiner
bobrien18 at yahoo.com
Mon Aug 14 12:08:47 EDT 2006
Larry Bates wrote:
> KraftDiner wrote:
> > The os.walk function walks the operating systems directory tree.
> >
> > This seems to work, but I don't quite understand the tupple that is
> > returned...
> > Can someone explain please?
> >
> > for root, dirs, files in os.walk('/directory/'):
> > print root
> > # print dirs
> > # print files
> >
>
> Actually returns two tuples: dirs and files
>
> root - is the directory branch you are currently walking
> dirs - are the directory branches that are subdirectories of this
> directory branch
> files - are the files that live in this directory branch
>
>
> To process all the files here you do something like:
>
> for afile in files: # resist the urge to call it 'file'
> fullpath=os.path.join(root, afile)
> #
> # Do something with fullpath
> #
>
> Hard to figure out item - If you wish to NOT process some of the
> dirs, you can delete them from the dirs list here and they won't
> get walked. You MUST delete them in place with del dirs[n] or
> dirs.pop or some other function that deletes in-place.
>
> You might want to type: help(os.walk) to get some more info.
>
Yep done that. Thanks.
Two things..
1) there seems to be an optional topdown flag. Is that passed to
os.walk(path, topdownFlag)
2) I only want to process files that match *.txt for example... Does
that mean I need to parse the list of files for the .txt extention or
can I pass a wildcard in the path parameter?
> -Larry Bates
More information about the Python-list
mailing list