diff options
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/lib/io.py | 3 | ||||
-rw-r--r-- | numpy/lib/tests/test_io.py | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/numpy/lib/io.py b/numpy/lib/io.py index d2c55172f..d425eccb5 100644 --- a/numpy/lib/io.py +++ b/numpy/lib/io.py @@ -48,6 +48,9 @@ def seek_gzip_factory(f): def tell(self): return self.offset + if isinstance(f, str): + f = gzip.GzipFile(f) + f.seek = new.instancemethod(seek, f) f.tell = new.instancemethod(tell, f) diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py index f545bfe34..d4f7f0e97 100644 --- a/numpy/lib/tests/test_io.py +++ b/numpy/lib/tests/test_io.py @@ -3,6 +3,7 @@ import numpy.ma as ma from numpy.ma.testutils import * import StringIO +import gzip from tempfile import NamedTemporaryFile import sys, time @@ -821,6 +822,13 @@ def test_gzip_load(): f = gzip.GzipFile(fileobj=s, mode="r") assert_array_equal(np.load(f), a) +def test_gzip_loadtxt(): + f = NamedTemporaryFile(suffix='.gz') + g = gzip.GzipFile(fileobj=f) + g.write('1 2 3\n') + g.close() + f.seek(0) + assert_array_equal(np.loadtxt(f.name), [1, 2, 3]) if __name__ == "__main__": run_module_suite() |