bpo-28286: Deprecate opening GzipFile for writing implicitly. (GH-16417)
Always specify the mode argument for writing.
diff --git a/Doc/library/gzip.rst b/Doc/library/gzip.rst
index 3349a94..33c4067 100644
--- a/Doc/library/gzip.rst
+++ b/Doc/library/gzip.rst
@@ -88,7 +88,8 @@
The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, ``'w'``,
``'wb'``, ``'x'``, or ``'xb'``, depending on whether the file will be read or
written. The default is the mode of *fileobj* if discernible; otherwise, the
- default is ``'rb'``.
+ default is ``'rb'``. In future Python releases the mode of *fileobj* will
+ not be used. It is better to always specify *mode* for writing.
Note that the file is always opened in binary mode. To open a compressed file
in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with an
@@ -164,6 +165,10 @@
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
+ .. deprecated:: 3.9
+ Opening :class:`GzipFile` for writing without specifying the *mode*
+ argument is deprecated.
+
.. function:: compress(data, compresslevel=9, *, mtime=None)