mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
Issue #13989: Document that GzipFile does not support text mode.
Also, give a more helpful error message when opened with an invalid mode string.
This commit is contained in:
parent
efe7c9d4d7
commit
30d94b7aea
3 changed files with 15 additions and 7 deletions
11
Lib/gzip.py
11
Lib/gzip.py
|
@ -105,6 +105,9 @@ class GzipFile(io.BufferedIOBase):
|
|||
"""The GzipFile class simulates most of the methods of a file object with
|
||||
the exception of the readinto() and truncate() methods.
|
||||
|
||||
This class only supports opening files in binary mode. If you need to open a
|
||||
compressed file in text mode, wrap your GzipFile with an io.TextIOWrapper.
|
||||
|
||||
"""
|
||||
|
||||
myfileobj = None
|
||||
|
@ -131,8 +134,8 @@ class GzipFile(io.BufferedIOBase):
|
|||
The mode argument can be any of 'r', 'rb', 'a', 'ab', 'w', or 'wb',
|
||||
depending on whether the file will be read or written. The default
|
||||
is the mode of fileobj if discernible; otherwise, the default is 'rb'.
|
||||
Be aware that only the 'rb', 'ab', and 'wb' values should be used
|
||||
for cross-platform portability.
|
||||
A mode of 'r' is equivalent to one of 'rb', and similarly for 'w' and
|
||||
'wb', and 'a' and 'ab'.
|
||||
|
||||
The compresslevel argument is an integer from 1 to 9 controlling the
|
||||
level of compression; 1 is fastest and produces the least compression,
|
||||
|
@ -149,8 +152,8 @@ class GzipFile(io.BufferedIOBase):
|
|||
|
||||
"""
|
||||
|
||||
# guarantee the file is opened in binary mode on platforms
|
||||
# that care about that sort of thing
|
||||
if mode and ('t' in mode or 'U' in mode):
|
||||
raise IOError("Mode " + mode + " not supported")
|
||||
if mode and 'b' not in mode:
|
||||
mode += 'b'
|
||||
if fileobj is None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue