Ich versuche /usr/share/matplotlib/sample_data/goog.npy
zu laden:
Es ist in Python 2.7 in Ordnung, löst aber in Python 3.4 eine Ausnahme aus:
%Vor% Ich nehme an, es hat etwas mit bytes/str/unicode
Inkonsistenz zwischen Python 2 und 3 zu tun, aber ich habe keine Ahnung, wie ich durchkommen soll.
Frage:
.npy
-Datei (NumPy-Daten) von Python 2 in Python 3? Das Problem besteht darin, dass die Datei serialisierte (gebeizte) Python-Datetime-Objekte und nicht nur numerische Daten enthält. Das Python-Serialisierungsformat für diese Objekte ist in Py2 bis Py3 nicht kompatibel:
%Vor%und
%Vor%Eine Problemumgehung besteht darin, innerhalb von Numpy-Code zu ändern
%Vor% zu array = pickle.load(fp, encoding="bytes")
. Eine bessere Lösung wäre es, numpy.load
den Kodierungsparameter übergeben zu können.
Ein Workaround, der mir geholfen hat, besteht darin, das in python2. * geladene numpy-Array in eine csv-Datei zu schreiben und es dann in python3 zu lesen. *
%Vor%Lies jetzt die Datei zurück in python3
%Vor%Tags und Links python python-3.x numpy python-unicode