use io.SEEK_* constants instead of os.SEEK_* where an IO stream is seeked, leaving the os.SEEK_* constants only for os.lseek, as documented
This commit is contained in:
parent
c041ab6c7d
commit
74c503b40d
|
@ -40,6 +40,7 @@ __credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend."
|
|||
#---------
|
||||
import sys
|
||||
import os
|
||||
import io
|
||||
import shutil
|
||||
import stat
|
||||
import time
|
||||
|
@ -833,20 +834,20 @@ class ExFileObject(object):
|
|||
|
||||
return self.position
|
||||
|
||||
def seek(self, pos, whence=os.SEEK_SET):
|
||||
def seek(self, pos, whence=io.SEEK_SET):
|
||||
"""Seek to a position in the file.
|
||||
"""
|
||||
if self.closed:
|
||||
raise ValueError("I/O operation on closed file")
|
||||
|
||||
if whence == os.SEEK_SET:
|
||||
if whence == io.SEEK_SET:
|
||||
self.position = min(max(pos, 0), self.size)
|
||||
elif whence == os.SEEK_CUR:
|
||||
elif whence == io.SEEK_CUR:
|
||||
if pos < 0:
|
||||
self.position = max(self.position + pos, 0)
|
||||
else:
|
||||
self.position = min(self.position + pos, self.size)
|
||||
elif whence == os.SEEK_END:
|
||||
elif whence == io.SEEK_END:
|
||||
self.position = max(min(self.size + pos, self.size), 0)
|
||||
else:
|
||||
raise ValueError("Invalid argument")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import sys
|
||||
import os
|
||||
import io
|
||||
import errno
|
||||
import unittest
|
||||
from array import array
|
||||
|
@ -334,10 +335,10 @@ class OtherFileTests(unittest.TestCase):
|
|||
self.assertEqual(f.tell(), 10)
|
||||
f.truncate(5)
|
||||
self.assertEqual(f.tell(), 10)
|
||||
self.assertEqual(f.seek(0, os.SEEK_END), 5)
|
||||
self.assertEqual(f.seek(0, io.SEEK_END), 5)
|
||||
f.truncate(15)
|
||||
self.assertEqual(f.tell(), 5)
|
||||
self.assertEqual(f.seek(0, os.SEEK_END), 15)
|
||||
self.assertEqual(f.seek(0, io.SEEK_END), 15)
|
||||
f.close()
|
||||
|
||||
def testTruncateOnWindows(self):
|
||||
|
|
Loading…
Reference in New Issue