[New-bugs-announce] [issue42594] Provide a way to skip magic-number search in ZipFile(mode='a')
report at bugs.python.org
Mon Dec 7 17:40:05 EST 2020
New submission from Bart Robinson <bart at bartrobinson.com>:
When a ZipFile object is created with mode='a', the existing file contents are checked for the magic number b"PK\005\006" near the end of the file. If a non-zipfile just happens to contain this magic number, it can confuse the library into assuming the file is a zipfile when it is not. It would be great if ZipFile.__init__() provided a way to skip the magic-number check and force a new central directory to be appended to the file.
This could take the form of an additional named argument like ZipFile.__init__(force_append=True), or an additional character in the mode string, like 'a+'. Either of these options should be backward-compatible with existing code.
Currently, my company has code that uses monkey-patching to work around the lack of this feature in the standard library. We use mode='a' to append metadata to files in existing formats that can contain arbitrary binary data and so occasionally include the magic number.
components: Library (Lib)
nosy: Bart Robinson
title: Provide a way to skip magic-number search in ZipFile(mode='a')
versions: Python 3.10
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce