mirror of
https://github.com/python/cpython.git
synced 2025-08-27 20:25:18 +00:00
Issue #10750: The raw
attribute of buffered IO objects is now read-only.
This commit is contained in:
parent
cfee0e83eb
commit
7f8f41808b
4 changed files with 32 additions and 9 deletions
20
Lib/_pyio.py
20
Lib/_pyio.py
|
@ -676,7 +676,7 @@ class _BufferedIOMixin(BufferedIOBase):
|
|||
"""
|
||||
|
||||
def __init__(self, raw):
|
||||
self.raw = raw
|
||||
self._raw = raw
|
||||
|
||||
### Positioning ###
|
||||
|
||||
|
@ -720,8 +720,8 @@ class _BufferedIOMixin(BufferedIOBase):
|
|||
if self.raw is None:
|
||||
raise ValueError("raw stream already detached")
|
||||
self.flush()
|
||||
raw = self.raw
|
||||
self.raw = None
|
||||
raw = self._raw
|
||||
self._raw = None
|
||||
return raw
|
||||
|
||||
### Inquiries ###
|
||||
|
@ -735,6 +735,10 @@ class _BufferedIOMixin(BufferedIOBase):
|
|||
def writable(self):
|
||||
return self.raw.writable()
|
||||
|
||||
@property
|
||||
def raw(self):
|
||||
return self._raw
|
||||
|
||||
@property
|
||||
def closed(self):
|
||||
return self.raw.closed
|
||||
|
@ -1465,7 +1469,7 @@ class TextIOWrapper(TextIOBase):
|
|||
if not isinstance(errors, str):
|
||||
raise ValueError("invalid errors: %r" % errors)
|
||||
|
||||
self.buffer = buffer
|
||||
self._buffer = buffer
|
||||
self._line_buffering = line_buffering
|
||||
self._encoding = encoding
|
||||
self._errors = errors
|
||||
|
@ -1520,6 +1524,10 @@ class TextIOWrapper(TextIOBase):
|
|||
def line_buffering(self):
|
||||
return self._line_buffering
|
||||
|
||||
@property
|
||||
def buffer(self):
|
||||
return self._buffer
|
||||
|
||||
def seekable(self):
|
||||
return self._seekable
|
||||
|
||||
|
@ -1734,8 +1742,8 @@ class TextIOWrapper(TextIOBase):
|
|||
if self.buffer is None:
|
||||
raise ValueError("buffer is already detached")
|
||||
self.flush()
|
||||
buffer = self.buffer
|
||||
self.buffer = None
|
||||
buffer = self._buffer
|
||||
self._buffer = None
|
||||
return buffer
|
||||
|
||||
def seek(self, cookie, whence=0):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue