From 09a52ed47bb26498c97a579ce1147861df696d84 Mon Sep 17 00:00:00 2001 From: Charles Harris Date: Thu, 28 Mar 2013 17:13:53 -0600 Subject: 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. --- numpy/core/numeric.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'numpy/core/numeric.py') diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py index 25f977254..5f4504eb9 100644 --- a/numpy/core/numeric.py +++ b/numpy/core/numeric.py @@ -1,5 +1,22 @@ from __future__ import division, absolute_import +import sys +import warnings +from . import multiarray +from . import umath +from .umath import * +from . import numerictypes +from .numerictypes import * +import collections + +if sys.version_info[0] >= 3: + import pickle +else: + import cPickle as pickle + +loads = pickle.loads + + __all__ = ['newaxis', 'ndarray', 'flatiter', 'nditer', 'nested_iters', 'ufunc', 'arange', 'array', 'zeros', 'count_nonzero', 'empty', 'broadcast', 'dtype', 'fromstring', 'fromfile', @@ -24,19 +41,10 @@ __all__ = ['newaxis', 'ndarray', 'flatiter', 'nditer', 'nested_iters', 'ufunc', 'CLIP', 'RAISE', 'WRAP', 'MAXDIMS', 'BUFSIZE', 'ALLOW_THREADS', 'ComplexWarning'] -import sys -import warnings -from . import multiarray -from . import umath -from .umath import * -from . import numerictypes -from .numerictypes import * -import collections - - if sys.version_info[0] < 3: __all__.extend(['getbuffer', 'newbuffer']) + class ComplexWarning(RuntimeWarning): """ The warning raised when casting a complex dtype to a real dtype. @@ -1861,9 +1869,6 @@ def base_repr(number, base=2, padding=0): res.append('-') return ''.join(reversed(res or '0')) -from cPickle import load, loads -_cload = load -_file = open def load(file): """ @@ -1880,8 +1885,8 @@ def load(file): """ if isinstance(file, type("")): - file = _file(file,"rb") - return _cload(file) + file = open(file, "rb") + return pickle.load(file) # These are all essentially abbreviations # These might wind up in a special abbreviations module -- cgit v1.2.1