On 20/08/15 04:03, Srihari Vijayaraghavan wrote:

out = sys.stdout.write
for root, dirs, files in os.walk("/"):
    out("The dirs before removing mount points: %s\n" % dirs)
    for d in dirs:
        dname = os.path.join(root, d)
        if os.path.ismount(dname):
            dirs.remove(d)

It's never a good idea to remove items from the thing
you are iterating over. Create a copy of dirs (dirs[:])
to iterate on then remove the items from the original
dirs.

<aside>
It always amazes me how often the same issues come up in
rapid succession. We must have had 4 or 5 of these types
of errors in the last couple of months, and other times
we go for 6 months or more without it being raised! :-)
</aside>


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to