diff options
author | Olivier Grisel <olivier.grisel@ensta.org> | 2014-06-26 14:49:59 +0200 |
---|---|---|
committer | Olivier Grisel <olivier.grisel@ensta.org> | 2014-06-30 11:12:38 +0200 |
commit | 6efd8493f8b491557a34dbbc176565b759f89b52 (patch) | |
tree | 4c3f287e0b64b5d17e339444072a5d463c938ed8 /numpy/compat | |
parent | 290f192465dc68b9e037ec4c1c2dc6fb522f2fdc (diff) | |
download | numpy-6efd8493f8b491557a34dbbc176565b759f89b52.tar.gz |
FIX isfileobj accepts write-mode files under PY3
Diffstat (limited to 'numpy/compat')
-rw-r--r-- | numpy/compat/py3k.py | 2 | ||||
-rw-r--r-- | numpy/compat/tests/test_compat.py | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/numpy/compat/py3k.py b/numpy/compat/py3k.py index f5ac3f9f8..4607d9502 100644 --- a/numpy/compat/py3k.py +++ b/numpy/compat/py3k.py @@ -36,7 +36,7 @@ if sys.version_info[0] >= 3: return str(s) def isfileobj(f): - return isinstance(f, (io.FileIO, io.BufferedReader)) + return isinstance(f, (io.FileIO, io.BufferedReader, io.BufferedWriter)) def open_latin1(filename, mode='r'): return open(filename, mode=mode, encoding='iso-8859-1') diff --git a/numpy/compat/tests/test_compat.py b/numpy/compat/tests/test_compat.py new file mode 100644 index 000000000..3df142e04 --- /dev/null +++ b/numpy/compat/tests/test_compat.py @@ -0,0 +1,19 @@ +from os.path import join + +from numpy.compat import isfileobj +from numpy.testing import TestCase, assert_ +from numpy.testing.utils import tempdir + + +def test_isfileobj(): + with tempdir(prefix="numpy_test_compat_") as folder: + filename = join(folder, 'a.bin') + + with open(filename, 'wb') as f: + assert_(isfileobj(f)) + + with open(filename, 'ab') as f: + assert_(isfileobj(f)) + + with open(filename, 'rb') as f: + assert_(isfileobj(f)) |