Martin Panter added the comment:

It looks like the zip entry writer object may not expect its “close” method to 
be called multiple times. Other file objects tend to allow this with no ill 
effect. Adding Serhiy and Thomas who implemented the writer object in Issue 
26039.

The first time it is called will be when the context manager (“with” statement) 
exits.

The second time will be when the TextIOWrapper is garbage-collected. This is 
documented behaviour 
<https://docs.python.org/3.6/library/io.html#io.IOBase.__del__>, but I think it 
is a design mistake of the IOBase hierarchy; see Issue 19829.

A reasonable workaround would be to call encoder.detach() after you have 
finished writing the zip entry.

----------
nosy: +martin.panter, serhiy.storchaka, takluyver
stage:  -> needs patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue30017>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to