diff options
author | Martin Panter <vadmium+py@gmail.com> | 2016-10-20 23:48:14 (GMT) |
---|---|---|
committer | Martin Panter <vadmium+py@gmail.com> | 2016-10-20 23:48:14 (GMT) |
commit | ccb2c0e31056de091abdd62fc07ca6e4bb052f24 (patch) | |
tree | 84ff95e0152d152124b078a9f6e85f053b7147c1 /Lib/_pyio.py | |
parent | ea8762cae64813788633b7d2a93c2c513c01fdea (diff) | |
download | cpython-ccb2c0e31056de091abdd62fc07ca6e4bb052f24.zip cpython-ccb2c0e31056de091abdd62fc07ca6e4bb052f24.tar.gz cpython-ccb2c0e31056de091abdd62fc07ca6e4bb052f24.tar.bz2 |
Issue #23214: Implement optional BufferedReader, BytesIO read1() argument
Diffstat (limited to 'Lib/_pyio.py')
-rw-r--r-- | Lib/_pyio.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Lib/_pyio.py b/Lib/_pyio.py index d0947f0..569527b 100644 --- a/Lib/_pyio.py +++ b/Lib/_pyio.py @@ -635,7 +635,7 @@ class BufferedIOBase(IOBase): implementation, but wrap one. """ - def read(self, size=None): + def read(self, size=-1): """Read and return up to size bytes, where size is an int. If the argument is omitted, None, or negative, reads and @@ -655,7 +655,7 @@ class BufferedIOBase(IOBase): """ self._unsupported("read") - def read1(self, size=None): + def read1(self, size=-1): """Read up to size bytes with at most one read() system call, where size is an int. """ @@ -863,7 +863,7 @@ class BytesIO(BufferedIOBase): self._buffer.clear() super().close() - def read(self, size=None): + def read(self, size=-1): if self.closed: raise ValueError("read from closed file") if size is None: @@ -877,7 +877,7 @@ class BytesIO(BufferedIOBase): self._pos = newpos return bytes(b) - def read1(self, size): + def read1(self, size=-1): """This is the same as read. """ return self.read(size) @@ -1073,12 +1073,12 @@ class BufferedReader(_BufferedIOMixin): self._read_pos = 0 return self._read_buf[self._read_pos:] - def read1(self, size): + def read1(self, size=-1): """Reads up to size bytes, with at most one read() system call.""" # Returns up to size bytes. If at least one byte is buffered, we # only return buffered bytes. Otherwise, we do one raw read. if size < 0: - raise ValueError("number of bytes to read must be positive") + size = self.buffer_size if size == 0: return b"" with self._read_lock: @@ -1270,7 +1270,7 @@ class BufferedRWPair(BufferedIOBase): self.reader = BufferedReader(reader, buffer_size) self.writer = BufferedWriter(writer, buffer_size) - def read(self, size=None): + def read(self, size=-1): if size is None: size = -1 return self.reader.read(size) @@ -1284,7 +1284,7 @@ class BufferedRWPair(BufferedIOBase): def peek(self, size=0): return self.reader.peek(size) - def read1(self, size): + def read1(self, size=-1): return self.reader.read1(size) def readinto1(self, b): @@ -1370,7 +1370,7 @@ class BufferedRandom(BufferedWriter, BufferedReader): self.flush() return BufferedReader.peek(self, size) - def read1(self, size): + def read1(self, size=-1): self.flush() return BufferedReader.read1(self, size) |