File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed
Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -193,8 +193,22 @@ def readline(self, size: int = -1) -> str:
193193 self .readline_results .append (value )
194194 return value if size <= - 1 else value [:size ]
195195
196- def readlines (self , size = - 1 ):
197- return list (iter (self .readline , "" ))
196+ def readlines (self , size : Optional [int ] = - 1 ) -> List [str ]:
197+ if size is None :
198+ # the default readlines implementation also accepts None
199+ size = - 1
200+ if not isinstance (size , int ):
201+ raise TypeError ("argument should be integer or None, not 'str'" )
202+ if size <= 0 :
203+ # read as much as we can
204+ return list (iter (self .readline , "" ))
205+
206+ lines = []
207+ while size > 0 :
208+ line = self .readline ()
209+ lines .append (line )
210+ size -= len (line )
211+ return lines
198212
199213 def __iter__ (self ):
200214 return iter (self .readlines ())
You can’t perform that action at this time.
0 commit comments