[Tutor] os.walk()
Alan Gauld
alan.gauld at btinternet.com
Thu Aug 3 11:49:52 CEST 2006
"Christopher Spears" <cspears2002 at yahoo.com> wrote> for
root,dirs,files in os.walk(base):
> for name in files:
> path = os.path.join(root, name)
> print path
>
> Sample output:
>
> ./gui_screenshot.jpeg
> ./find_items.pyc
> ./find_items.py
> ./os
> ./LearningToProgram/loggablebankaccount.py
> I'm glad that the function works smoothly. I'm just
> wondering how os.walk works. Shouldn't I have to
> write a statement like this:
>
> path = os.path.join(root, dirs, name)
>
No, the dirs value holds a list of folders, the files
value holds a list of files. Thus if you wanted to print
out all the sub folders in the root you would
print root+dirs
But you want files not folders so you correctly use
print root+files
root holds the full path to the current point in the tree.
(And os.walk is a good example of a program using a
tree data structure! ;-)
Alan G.
More information about the Tutor
mailing list