Welcome to zipp documentation!¶
-
class
zipp.
CompleteDirs
(file, mode='r', compression=0, allowZip64=True, compresslevel=None)¶ Bases:
zipfile.ZipFile
A ZipFile subclass that ensures that implied directories are always included in the namelist.
-
classmethod
make
(source)¶ Given a source (filename or zipfile), return an appropriate CompleteDirs subclass.
-
namelist
()¶ Return a list of file names in the archive.
-
resolve_dir
(name)¶ If the name represents a directory, return that name as a directory (with the trailing slash).
-
classmethod
-
class
zipp.
FastLookup
(file, mode='r', compression=0, allowZip64=True, compresslevel=None)¶ Bases:
zipp.CompleteDirs
ZipFile subclass to ensure implicit dirs exist and are resolved rapidly.
-
namelist
()¶ Return a list of file names in the archive.
-
-
class
zipp.
Path
(root, at='')¶ Bases:
object
A pathlib-compatible interface for zip files.
Consider a zip file with this structure:
. ├── a.txt └── b ├── c.txt └── d └── e.txt
>>> data = io.BytesIO() >>> zf = zipfile.ZipFile(data, 'w') >>> zf.writestr('a.txt', 'content of a') >>> zf.writestr('b/c.txt', 'content of c') >>> zf.writestr('b/d/e.txt', 'content of e') >>> zf.filename = 'mem/abcde.zip'
Path accepts the zipfile object itself or a filename
>>> root = Path(zf)
From there, several path operations are available.
Directory iteration (including the zip file itself):
>>> a, b = root.iterdir() >>> a Path('mem/abcde.zip', 'a.txt') >>> b Path('mem/abcde.zip', 'b/')
name property:
>>> b.name 'b'
join with divide operator:
>>> c = b / 'c.txt' >>> c Path('mem/abcde.zip', 'b/c.txt') >>> c.name 'c.txt'
Read text:
>>> c.read_text() 'content of c'
existence:
>>> c.exists() True >>> (b / 'missing.txt').exists() False
Coercion to string:
>>> import os >>> str(c).replace(os.sep, posixpath.sep) 'mem/abcde.zip/b/c.txt'
At the root,
name
,filename
, andparent
resolve to the zipfile. Note these attributes are not valid and will raise aValueError
if the zipfile has no filename.>>> root.name 'abcde.zip' >>> str(root.filename).replace(os.sep, posixpath.sep) 'mem/abcde.zip' >>> str(root.parent) 'mem'
-
exists
()¶
-
property
filename
¶
-
is_dir
()¶
-
is_file
()¶
-
iterdir
()¶
-
joinpath
(*other)¶
-
property
name
¶
-
open
(mode='r', *args, pwd=None, **kwargs)¶ Open this entry as text or binary following the semantics of
pathlib.Path.open()
by passing arguments through to io.TextIOWrapper().
-
property
parent
¶
-
read_bytes
()¶
-
read_text
(*args, **kwargs)¶
-