iter() doesn't use __getattr__ to find an __iter__ method. I'm not sure if the behavior is deliberately but this workaround fixes the issue for the next alpha release tomorrow.
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 4f27f61..11a4c60 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -394,6 +394,10 @@
self.file.__enter__()
return self
+ # XXX iter() doesn't use __getattr__ to find the __iter__ method
+ def __iter__(self):
+ return self.__getattr__('__iter__')()
+
# NT provides delete-on-close as a primitive, so we don't need
# the wrapper to do anything special. We still use it so that
# file.name is useful (i.e. not "(fdopen)") with NamedTemporaryFile.