rbt wrote:
##      for fs in fs_objects:
##
##            for f in fs[2]:
##                if f in file_skip_list:
##                    print f
##                    fs[2].remove(f)
##
##            for d in fs[1]:
##                if d in dir_skip_list:
##                    print d
##                    fs[1].remove(d)

Will the changes I made (file and dir removals from os.walk()) be reflected in the generator object? Is it safe to remove objects this way and pass the results in a generator on to another function? Sorry for all the questions, I just like to fully understand something before I start doing it with confidence.

Yes. The docs for os.walk() explicitly state, "When topdown is true, the caller can modify the dirnames list in-place (perhaps using del or slice assignment), and walk() will only recurse into the subdirectories whose names remain in dirnames."


So changes to the dir list affect the iteration; changes to the file list directly affect the value you return to the caller.

Kent
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to