diff options
author | Victor Stinner <vstinner@python.org> | 2019-10-28 14:40:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-28 14:40:08 (GMT) |
commit | e471e72977c83664f13d041c78549140c86c92de (patch) | |
tree | feddc2c15e7199122f6f59992de0dab8f73b6149 /Lib/_pyio.py | |
parent | 3bfc8e0fcc707d200c267ff05b052fd6a63c985a (diff) | |
download | cpython-e471e72977c83664f13d041c78549140c86c92de.zip cpython-e471e72977c83664f13d041c78549140c86c92de.tar.gz cpython-e471e72977c83664f13d041c78549140c86c92de.tar.bz2 |
bpo-37330: open() no longer accept 'U' in file mode (GH-16959)
open(), io.open(), codecs.open() and fileinput.FileInput no longer
accept "U" ("universal newline") in the file mode. This flag was
deprecated since Python 3.3.
Diffstat (limited to 'Lib/_pyio.py')
-rw-r--r-- | Lib/_pyio.py | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/Lib/_pyio.py b/Lib/_pyio.py index c1bdac7..e819b0a 100644 --- a/Lib/_pyio.py +++ b/Lib/_pyio.py @@ -71,7 +71,6 @@ def open(file, mode="r", buffering=-1, encoding=None, errors=None, 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) - 'U' universal newline mode (deprecated) ========= =============================================================== The default mode is 'rt' (open for reading text). For binary random @@ -87,10 +86,6 @@ def open(file, mode="r", buffering=-1, encoding=None, errors=None, returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given. - 'U' mode is deprecated and will raise an exception in future versions - of Python. It has no effect in Python 3. Use newline to control - universal newlines mode. - buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate @@ -176,7 +171,7 @@ def open(file, mode="r", buffering=-1, encoding=None, errors=None, if errors is not None and not isinstance(errors, str): raise TypeError("invalid errors: %r" % errors) modes = set(mode) - if modes - set("axrwb+tU") or len(mode) > len(modes): + if modes - set("axrwb+t") or len(mode) > len(modes): raise ValueError("invalid mode: %r" % mode) creating = "x" in modes reading = "r" in modes @@ -185,13 +180,6 @@ def open(file, mode="r", buffering=-1, encoding=None, errors=None, updating = "+" in modes text = "t" in modes binary = "b" in modes - if "U" in modes: - if creating or writing or appending or updating: - raise ValueError("mode U cannot be combined with 'x', 'w', 'a', or '+'") - import warnings - warnings.warn("'U' mode is deprecated", - DeprecationWarning, 2) - reading = True if text and binary: raise ValueError("can't have text and binary mode at once") if creating + reading + writing + appending > 1: |