Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
6787a380
Kaydet (Commit)
6787a380
authored
Kas 23, 2013
tarafından
Serhiy Storchaka
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #15204: Deprecated the 'U' mode in file-like objects.
üst
d41c343f
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
45 additions
and
13 deletions
+45
-13
fileinput.rst
Doc/library/fileinput.rst
+3
-0
functions.rst
Doc/library/functions.rst
+4
-2
zipfile.rst
Doc/library/zipfile.rst
+3
-0
_pyio.py
Lib/_pyio.py
+8
-2
fileinput.py
Lib/fileinput.py
+4
-0
imp.py
Lib/imp.py
+2
-2
test_imp.py
Lib/test/test_imp.py
+1
-1
zipfile.py
Lib/zipfile.py
+4
-0
NEWS
Misc/NEWS
+2
-0
_iomodule.c
Modules/_io/_iomodule.c
+8
-2
iobench.py
Tools/iobench/iobench.py
+3
-1
diff.py
Tools/scripts/diff.py
+2
-2
ndiff.py
Tools/scripts/ndiff.py
+1
-1
No files found.
Doc/library/fileinput.rst
Dosyayı görüntüle @
6787a380
...
...
@@ -160,6 +160,9 @@ available for subclassing as well:
.. versionchanged:: 3.2
Can be used as a context manager.
.. deprecated:: 3.4
The ``'rU'`` and ``'U'`` modes.
**Optional in-place filtering:** if the keyword argument ``inplace=True`` is
passed to :func:`fileinput.input` or to the :class:`FileInput` constructor, the
...
...
Doc/library/functions.rst
Dosyayı görüntüle @
6787a380
...
...
@@ -872,8 +872,7 @@ are always available. They are listed here in alphabetical order.
``'b'`` binary mode
``'t'`` text mode (default)
``'+'`` open a disk file for updating (reading and writing)
``'U'`` universal newlines mode (for backwards compatibility; should
not be used in new code)
``'U'`` :term:`universal newlines` mode (deprecated)
========= ===============================================================
The default mode is ``'r'`` (open for reading text, synonym of ``'rt'``).
...
...
@@ -1029,6 +1028,9 @@ are always available. They are listed here in alphabetical order.
.. versionchanged:: 3.4
The file is now non-inheritable.
.. deprecated-removed:: 3.4 4.0
The ``'U'`` mode.
.. XXX works for bytes too, but should it?
.. function:: ord(c)
...
...
Doc/library/zipfile.rst
Dosyayı görüntüle @
6787a380
...
...
@@ -234,6 +234,9 @@ ZipFile Objects
or a :class:`ZipInfo` object. You will appreciate this when trying to read a
ZIP file that contains members with duplicate names.
.. deprecated-removed:: 3.4 3.6
The ``'
U
'`` or ``'
rU
'`` mode. Use :class:`io.TextIOWrapper` for reading
compressed text files in :term:`universal newlines` mode.
.. method:: ZipFile.extract(member, path=None, pwd=None)
...
...
Lib/_pyio.py
Dosyayı görüntüle @
6787a380
...
...
@@ -62,8 +62,7 @@ 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 (for backwards compatibility; unneeded
for new code)
'U' universal newline mode (deprecated)
========= ===============================================================
The default mode is 'rt' (open for reading text). For binary random
...
...
@@ -79,6 +78,10 @@ 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
...
...
@@ -174,6 +177,9 @@ def open(file, mode="r", buffering=-1, encoding=None, errors=None,
if
"U"
in
modes
:
if
creating
or
writing
or
appending
:
raise
ValueError
(
"can't use U and writing mode at once"
)
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"
)
...
...
Lib/fileinput.py
Dosyayı görüntüle @
6787a380
...
...
@@ -222,6 +222,10 @@ class FileInput:
if
mode
not
in
(
'r'
,
'rU'
,
'U'
,
'rb'
):
raise
ValueError
(
"FileInput opening mode must be one of "
"'r', 'rU', 'U' and 'rb'"
)
if
'U'
in
mode
:
import
warnings
warnings
.
warn
(
"Use of 'U' mode is deprecated"
,
DeprecationWarning
,
2
)
self
.
_mode
=
mode
if
openhook
:
if
inplace
:
...
...
Lib/imp.py
Dosyayı görüntüle @
6787a380
...
...
@@ -103,7 +103,7 @@ def source_from_cache(path):
def
get_suffixes
():
"""**DEPRECATED**"""
extensions
=
[(
s
,
'rb'
,
C_EXTENSION
)
for
s
in
machinery
.
EXTENSION_SUFFIXES
]
source
=
[(
s
,
'
U
'
,
PY_SOURCE
)
for
s
in
machinery
.
SOURCE_SUFFIXES
]
source
=
[(
s
,
'
r
'
,
PY_SOURCE
)
for
s
in
machinery
.
SOURCE_SUFFIXES
]
bytecode
=
[(
s
,
'rb'
,
PY_COMPILED
)
for
s
in
machinery
.
BYTECODE_SUFFIXES
]
return
extensions
+
source
+
bytecode
...
...
@@ -297,7 +297,7 @@ def find_module(name, path=None):
raise
ImportError
(
_ERR_MSG
.
format
(
name
),
name
=
name
)
encoding
=
None
if
mode
==
'U'
:
if
'b'
not
in
mode
:
with
open
(
file_path
,
'rb'
)
as
file
:
encoding
=
tokenize
.
detect_encoding
(
file
.
readline
)[
0
]
file
=
open
(
file_path
,
mode
,
encoding
=
encoding
)
...
...
Lib/test/test_imp.py
Dosyayı görüntüle @
6787a380
...
...
@@ -165,7 +165,7 @@ class ImportTests(unittest.TestCase):
self
.
assertIsNotNone
(
file
)
self
.
assertTrue
(
filename
[:
-
3
]
.
endswith
(
temp_mod_name
))
self
.
assertEqual
(
info
[
0
],
'.py'
)
self
.
assertEqual
(
info
[
1
],
'
U
'
)
self
.
assertEqual
(
info
[
1
],
'
r
'
)
self
.
assertEqual
(
info
[
2
],
imp
.
PY_SOURCE
)
mod
=
imp
.
load_module
(
temp_mod_name
,
file
,
filename
,
info
)
...
...
Lib/zipfile.py
Dosyayı görüntüle @
6787a380
...
...
@@ -1117,6 +1117,10 @@ class ZipFile:
"""Return file-like object for 'name'."""
if
mode
not
in
(
"r"
,
"U"
,
"rU"
):
raise
RuntimeError
(
'open() requires mode "r", "U", or "rU"'
)
if
'U'
in
mode
:
import
warnings
warnings
.
warn
(
"'U' mode is deprecated"
,
DeprecationWarning
,
2
)
if
pwd
and
not
isinstance
(
pwd
,
bytes
):
raise
TypeError
(
"pwd: expected bytes, got
%
s"
%
type
(
pwd
))
if
not
self
.
fp
:
...
...
Misc/NEWS
Dosyayı görüntüle @
6787a380
...
...
@@ -68,6 +68,8 @@ Core and Builtins
Library
-------
-
Issue
#
15204
:
Deprecated
the
'U'
mode
in
file
-
like
objects
.
-
Issue
#
17810
:
Implement
PEP
3154
,
pickle
protocol
4.
-
Issue
#
19668
:
Added
support
for
the
cp1125
encoding
.
...
...
Modules/_io/_iomodule.c
Dosyayı görüntüle @
6787a380
...
...
@@ -126,8 +126,7 @@ PyDoc_STRVAR(open_doc,
"'b' binary mode
\n
"
"'t' text mode (default)
\n
"
"'+' open a disk file for updating (reading and writing)
\n
"
"'U' universal newline mode (for backwards compatibility; unneeded
\n
"
" for new code)
\n
"
"'U' universal newline mode (deprecated)
\n
"
"========= ===============================================================
\n
"
"
\n
"
"The default mode is 'rt' (open for reading text). For binary random
\n
"
...
...
@@ -143,6 +142,10 @@ PyDoc_STRVAR(open_doc,
"returned as strings, the bytes having been first decoded using a
\n
"
"platform-dependent encoding or using the specified encoding if given.
\n
"
"
\n
"
"'U' mode is deprecated and will raise an exception in future versions
\n
"
"of Python. It has no effect in Python 3. Use newline to control
\n
"
"universal newlines mode.
\n
"
"
\n
"
"buffering is an optional integer used to set the buffering policy.
\n
"
"Pass 0 to switch buffering off (only allowed in binary mode), 1 to select
\n
"
"line buffering (only usable in text mode), and an integer > 1 to indicate
\n
"
...
...
@@ -310,6 +313,9 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
"can't use U and writing mode at once"
);
return
NULL
;
}
if
(
PyErr_WarnEx
(
PyExc_DeprecationWarning
,
"'U' mode is deprecated"
,
1
)
<
0
)
return
NULL
;
reading
=
1
;
}
...
...
Tools/iobench/iobench.py
Dosyayı görüntüle @
6787a380
...
...
@@ -24,6 +24,8 @@ def text_open(fn, mode, encoding=None):
try
:
return
open
(
fn
,
mode
,
encoding
=
encoding
or
TEXT_ENCODING
)
except
TypeError
:
if
'r'
in
mode
:
mode
+=
'U'
# 'U' mode is needed only in Python 2.x
return
open
(
fn
,
mode
)
def
get_file_sizes
():
...
...
@@ -380,7 +382,7 @@ def prepare_files():
f
.
write
(
os
.
urandom
(
size
))
# Text files
chunk
=
[]
with
text_open
(
__file__
,
"r
U
"
,
encoding
=
'utf8'
)
as
f
:
with
text_open
(
__file__
,
"r"
,
encoding
=
'utf8'
)
as
f
:
for
line
in
f
:
if
line
.
startswith
(
"# <iobench text chunk marker>"
):
break
...
...
Tools/scripts/diff.py
Dosyayı görüntüle @
6787a380
...
...
@@ -38,9 +38,9 @@ def main():
fromdate
=
file_mtime
(
fromfile
)
todate
=
file_mtime
(
tofile
)
with
open
(
fromfile
,
'U'
)
as
ff
:
with
open
(
fromfile
)
as
ff
:
fromlines
=
ff
.
readlines
()
with
open
(
tofile
,
'U'
)
as
tf
:
with
open
(
tofile
)
as
tf
:
tolines
=
tf
.
readlines
()
if
options
.
u
:
...
...
Tools/scripts/ndiff.py
Dosyayı görüntüle @
6787a380
...
...
@@ -60,7 +60,7 @@ def fail(msg):
# couldn't be opened
def
fopen
(
fname
):
try
:
return
open
(
fname
,
'U'
)
return
open
(
fname
)
except
IOError
as
detail
:
return
fail
(
"couldn't open "
+
fname
+
": "
+
str
(
detail
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment