.. index::
single: universal newlines; zipfile.ZipFile.open method
-.. method:: ZipFile.open(name, mode='r', pwd=None, force_zip64=False)
+.. method:: ZipFile.open(name, mode='r', pwd=None, *, force_zip64=False)
Access a member of the archive as a file-like object. *name*
is the name of the file in the archive, or a :class:`ZipInfo` object. The
.. versionadded:: 3.6
-Instances have the following attributes:
+Instances have the following methods and attributes:
+
+.. method:: ZipInfo.is_dir()
+
+ Return True if this archive member is a directory.
+
+ This uses the entry's name: directories should always end with ``/``.
+
+ .. versionadded:: 3.6
.. attribute:: ZipInfo.filename
return zinfo
def is_dir(self):
+ """Return True if this archive member is a directory."""
return self.filename[-1] == '/'
with self.open(name, "r", pwd) as fp:
return fp.read()
- def open(self, name, mode="r", pwd=None, force_zip64=False):
+ def open(self, name, mode="r", pwd=None, *, force_zip64=False):
"""Return file-like object for 'name'.
name is a string for the file name within the ZIP file, or a ZipInfo