mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #16304: Further optimize BZ2File.readlines?().
This commit is contained in:
parent
138ad5066d
commit
eb70be2b46
1 changed files with 8 additions and 6 deletions
14
Lib/bz2.py
14
Lib/bz2.py
|
@ -319,9 +319,10 @@ class BZ2File(io.BufferedIOBase):
|
||||||
non-negative, no more than size bytes will be read (in which
|
non-negative, no more than size bytes will be read (in which
|
||||||
case the line may be incomplete). Returns b'' if already at EOF.
|
case the line may be incomplete). Returns b'' if already at EOF.
|
||||||
"""
|
"""
|
||||||
if not hasattr(size, "__index__"):
|
if not isinstance(size, int):
|
||||||
raise TypeError("Integer argument expected")
|
if not hasattr(size, "__index__"):
|
||||||
size = size.__index__()
|
raise TypeError("Integer argument expected")
|
||||||
|
size = size.__index__()
|
||||||
with self._lock:
|
with self._lock:
|
||||||
self._check_can_read()
|
self._check_can_read()
|
||||||
# Shortcut for the common case - the whole line is in the buffer.
|
# Shortcut for the common case - the whole line is in the buffer.
|
||||||
|
@ -341,9 +342,10 @@ class BZ2File(io.BufferedIOBase):
|
||||||
further lines will be read once the total size of the lines read
|
further lines will be read once the total size of the lines read
|
||||||
so far equals or exceeds size.
|
so far equals or exceeds size.
|
||||||
"""
|
"""
|
||||||
if not hasattr(size, "__index__"):
|
if not isinstance(size, int):
|
||||||
raise TypeError("Integer argument expected")
|
if not hasattr(size, "__index__"):
|
||||||
size = size.__index__()
|
raise TypeError("Integer argument expected")
|
||||||
|
size = size.__index__()
|
||||||
with self._lock:
|
with self._lock:
|
||||||
return io.BufferedIOBase.readlines(self, size)
|
return io.BufferedIOBase.readlines(self, size)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue