bpo-32035: Fix words about strings and bytes in zipfile documentation. (GH-10592)

(cherry picked from commit 4bb186d7e2)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Miss Islington (bot) 2018-11-25 01:30:37 -08:00 committed by GitHub
parent bc665b42ba
commit 89a3087d40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 16 deletions

View File

@ -378,13 +378,6 @@ ZipFile Objects
given.
The archive must be open with mode ``'w'``, ``'x'`` or ``'a'``.
.. note::
There is no official file name encoding for ZIP files. If you have unicode file
names, you must convert them to byte strings in your desired encoding before
passing them to :meth:`write`. WinZip interprets all file names as encoded in
CP437, also known as DOS Latin.
.. note::
Archive names should be relative to the archive root, that is, they should not
@ -404,7 +397,9 @@ ZipFile Objects
.. method:: ZipFile.writestr(zinfo_or_arcname, data, compress_type=None, \
compresslevel=None)
Write the string *data* to the archive; *zinfo_or_arcname* is either the file
Write a file into the archive. The contents is *data*, which may be either
a :class:`str` or a :class:`bytes` instance; if it is a :class:`str`,
it is encoded as UTF-8 first. *zinfo_or_arcname* is either the file
name it will be given in the archive, or a :class:`ZipInfo` instance. If it's
an instance, at least the filename, date, and time must be given. If it's a
name, the date and time is set to the current date and time.
@ -445,11 +440,11 @@ The following data attributes are also available:
.. attribute:: ZipFile.comment
The comment text associated with the ZIP file. If assigning a comment to a
The comment associated with the ZIP file as a :class:`bytes` object.
If assigning a comment to a
:class:`ZipFile` instance created with mode ``'w'``, ``'x'`` or ``'a'``,
this should be a
string no longer than 65535 bytes. Comments longer than this will be
truncated in the written archive when :meth:`close` is called.
it should be no longer than 65535 bytes. Comments longer than this will be
truncated.
.. _pyzipfile-objects:
@ -606,13 +601,14 @@ Instances have the following methods and attributes:
.. attribute:: ZipInfo.comment
Comment for the individual archive member.
Comment for the individual archive member as a :class:`bytes` object.
.. attribute:: ZipInfo.extra
Expansion field data. The `PKZIP Application Note`_ contains
some comments on the internal structure of the data contained in this string.
some comments on the internal structure of the data contained in this
:class:`bytes` object.
.. attribute:: ZipInfo.create_system

View File

@ -402,7 +402,7 @@ class ZipInfo (object):
return ''.join(result)
def FileHeader(self, zip64=None):
"""Return the per-file header as a string."""
"""Return the per-file header as a bytes object."""
dt = self.date_time
dosdate = (dt[0] - 1980) << 9 | dt[1] << 5 | dt[2]
dostime = dt[3] << 11 | dt[4] << 5 | (dt[5] // 2)
@ -1424,7 +1424,7 @@ class ZipFile:
self._didModify = True
def read(self, name, pwd=None):
"""Return file bytes (as a string) for name."""
"""Return file bytes for name."""
with self.open(name, "r", pwd) as fp:
return fp.read()