equal
deleted
inserted
replaced
290 0) |
290 0) |
291 except pywintypes.error, err: |
291 except pywintypes.error, err: |
292 raise WinIOError(err, name) |
292 raise WinIOError(err, name) |
293 |
293 |
294 def __iter__(self): |
294 def __iter__(self): |
295 for line in self.read().splitlines(True): |
295 for line in self.readlines(): |
296 yield line |
296 yield line |
297 |
297 |
298 def read(self, count=-1): |
298 def read(self, count=-1): |
299 try: |
299 try: |
300 cs = cStringIO.StringIO() |
300 cs = cStringIO.StringIO() |
309 count -= len(data) |
309 count -= len(data) |
310 return cs.getvalue() |
310 return cs.getvalue() |
311 except pywintypes.error, err: |
311 except pywintypes.error, err: |
312 raise WinIOError(err) |
312 raise WinIOError(err) |
313 |
313 |
|
314 def readlines(self, sizehint=None): |
|
315 # splitlines() splits on single '\r' while readlines() |
|
316 # does not. cStringIO has a well behaving readlines() and is fast. |
|
317 return cStringIO.StringIO(self.read()).readlines() |
|
318 |
314 def write(self, data): |
319 def write(self, data): |
315 try: |
320 try: |
316 if 'a' in self.mode: |
321 if 'a' in self.mode: |
317 win32file.SetFilePointer(self.handle, 0, win32file.FILE_END) |
322 win32file.SetFilePointer(self.handle, 0, win32file.FILE_END) |
318 nwrit = 0 |
323 nwrit = 0 |