class zipfile.ZipFile(file, mode='r', compression=ZIP_STORED, allowZip64=True)
Open a ZIP file, where file can be either a path to a file (a string) or a file-like object. The mode parameter should be 'r'
to read an existing file, 'w'
to truncate and write a new file, 'a'
to append to an existing file, or 'x'
to exclusively create and write a new file. If mode is 'x'
and file refers to an existing file, a FileExistsError
will be raised. If mode is 'a'
and file refers to an existing ZIP file, then additional files are added to it. If file does not refer to a ZIP file, then a new ZIP archive is appended to the file. This is meant for adding a ZIP archive to another file (such as python.exe
). If mode is a
and the file does not exist at all, it is created. If mode is r
or a
, the file should be seekable. compression is the ZIP compression method to use when writing the archive, and should be ZIP_STORED
, ZIP_DEFLATED
, ZIP_BZIP2
or ZIP_LZMA
; unrecognized values will cause RuntimeError
to be raised. If ZIP_DEFLATED
, ZIP_BZIP2
or ZIP_LZMA
is specified but the corresponding module (zlib
, bz2
or lzma
) is not available, RuntimeError
is also raised. The default is ZIP_STORED
. If allowZip64 is True
(the default) zipfile will create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GiB. If it is false zipfile
will raise an exception when the ZIP file would require ZIP64 extensions.
If the file is created with mode 'w'
, 'x'
or 'a'
and then closed
without adding any files to the archive, the appropriate ZIP structures for an empty archive will be written to the file.
ZipFile is also a context manager and therefore supports the with
statement. In the example, myzip is closed after the with
statement’s suite is finished—even if an exception occurs:
with ZipFile('spam.zip', 'w') as myzip: myzip.write('eggs.txt')
New in version 3.2: Added the ability to use ZipFile
as a context manager.
Changed in version 3.4: ZIP64 extensions are enabled by default.
Changed in version 3.5: Added support for writing to unseekable streams. Added support for the 'x'
mode.
Please login to continue.