diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2013-03-28 17:13:53 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2013-04-02 11:23:58 -0600 |
commit | 09a52ed47bb26498c97a579ce1147861df696d84 (patch) | |
tree | 39bbddec620188f8cf09a5eb51370b0db1236219 /numpy/lib/npyio.py | |
parent | a939f2aa83e7d37d5e35e7c2a8c539c59f682598 (diff) | |
download | numpy-09a52ed47bb26498c97a579ce1147861df696d84.tar.gz |
2to3: Apply `imports` fixer.
The `imports` fixer deals with the standard packages that have been
renamed, removed, or methods that have moved.
cPickle -- removed, use pickle
commands -- removed, getoutput, getstatusoutput moved to subprocess
urlparse -- removed, urlparse moved to urllib.parse
cStringIO -- removed, use StringIO or io.StringIO
copy_reg -- renamed copyreg
_winreg -- renamed winreg
ConfigParser -- renamed configparser
__builtin__ -- renamed builtins
In the case of `cPickle`, it is imported as `pickle` when python < 3 and
performance may be a consideration, but otherwise plain old `pickle` is
used.
Dealing with `StringIO` is a bit tricky. There is an `io.StringIO`
function in the `io` module, available since Python 2.6, but it expects
unicode whereas `StringIO.StringIO` expects ascii. The Python 3
equivalent is then `io.BytesIO`. What I have done here is used BytesIO
for anything that is emulating a file for testing purposes. That is more
explicit than using a redefined StringIO as was done before we dropped
support for Python 2.4 and 2.5.
Closes #3180.
Diffstat (limited to 'numpy/lib/npyio.py')
-rw-r--r-- | numpy/lib/npyio.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py index 065a3ba46..eb4ffd4ce 100644 --- a/numpy/lib/npyio.py +++ b/numpy/lib/npyio.py @@ -1,9 +1,5 @@ from __future__ import division, absolute_import -__all__ = ['savetxt', 'loadtxt', 'genfromtxt', 'ndfromtxt', 'mafromtxt', - 'recfromtxt', 'recfromcsv', 'load', 'loads', 'save', 'savez', - 'savez_compressed', 'packbits', 'unpackbits', 'fromregex', 'DataSource'] - import numpy as np from . import format import sys @@ -15,7 +11,6 @@ import warnings import weakref from operator import itemgetter -from cPickle import load as _cload, loads from ._datasource import DataSource from ._compiled_base import packbits, unpackbits @@ -25,11 +20,18 @@ from ._iotools import LineSplitter, NameValidator, StringConverter, \ easy_dtype, _bytes_to_name from numpy.compat import asbytes, asstr, asbytes_nested, bytes +from io import BytesIO if sys.version_info[0] >= 3: - from io import BytesIO + import pickle else: - from cStringIO import StringIO as BytesIO + import cPickle as pickle + +loads = pickle.loads + +__all__ = ['savetxt', 'loadtxt', 'genfromtxt', 'ndfromtxt', 'mafromtxt', + 'recfromtxt', 'recfromcsv', 'load', 'loads', 'save', 'savez', + 'savez_compressed', 'packbits', 'unpackbits', 'fromregex', 'DataSource'] _string_like = _is_string_like @@ -380,7 +382,7 @@ def load(file, mmap_mode=None): return format.read_array(fid) else: # Try a pickle try: - return _cload(fid) + return pickle.load(fid) except: raise IOError( "Failed to interpret file %s as a pickle" % repr(file)) |