The loop for root, dir, file in os.walk(startdir)
works through these steps?
for root in os.walk(startdir)
for dir in root
for files in dir
get root of start dir : C:\dir1\dir2\startdir
get folders in C:\dir1\dir2\startdir and return list of folders "dirlist"
get files in the first dirlist item and return the list of files "filelist" as the first item of a list of filelists.
move to the second item in dirlist and return the list of files in this folder "filelist2" as the second item of a list of filelists. etc.
move to the next root in the folder tree and start from 2. etc.
Right? Or does it just get all roots first, then all dirs second, and all files third?