Issue #23700: NamedTemporaryFile iterator closed underlied file object in
some circunstances while NamedTemporaryFile object was living. This causes failing test_csv. Changed the implementation of NamedTemporaryFile.__iter__ to make tests passed.
This commit is contained in:
commit
000391b7de
|
@ -426,9 +426,11 @@ class _TemporaryFileWrapper:
|
|||
|
||||
# iter() doesn't use __getattr__ to find the __iter__ method
|
||||
def __iter__(self):
|
||||
# don't return iter(self.file), but yield from it to avoid closing
|
||||
# file as long as it's being used as iterator, see issue #23000
|
||||
yield from iter(self.file)
|
||||
# Don't return iter(self.file), but yield from it to avoid closing
|
||||
# file as long as it's being used as iterator, see issue #23000.
|
||||
# XXX Also don't use "yield from"!
|
||||
for line in self.file:
|
||||
yield line
|
||||
|
||||
|
||||
def NamedTemporaryFile(mode='w+b', buffering=-1, encoding=None,
|
||||
|
|
Loading…
Reference in New Issue