On 1/3/2017 3:53 PM, Deborah Swanson wrote:

I think you're expecting

        for file in rootobs

to get the next yield for you from rootobs, but unless
someone corrects me, I don't think you can expect a 'for'
statement to do that. You need to have a 'next' statement
inside your for loop to get the next yield from the generator.

As I read this, out of context, it is wrong. It it very unusual to call next on the current iterator (here next(rootobs)), inside a for loop.

You probably want something like :

for f in rootobs:
    file = next

This is definitely wrong, as it makes 'find' an alias for the next() function.

    base = os.path.basename(file.name)

and file.name will be an AttributeError.

---
If one wants to iterate through files and lines within files, which I believe I saw in this thread, one should have a for loop within a for loop.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to