Я получил маринованный объект (список с несколькими массивами numpy в нем), который был создан в Windows и, очевидно, сохранен в файл, загруженный как текст, а не в двоичном режиме (т.е. с open(filename, 'w')
вместо open(filename, 'wb')
). В результате теперь я не могу распаковать его (даже под Windows), потому что он заражен \r
символами (и, возможно, еще чем-то)? Основная претензия -
ImportError: No module named multiarray
якобы потому, что он ищет numpy.core.multiarray\r
, которого, конечно же, не существует. Простое удаление символов \r
не помогло (пробовал и sed -e 's/\r//g'
и, в python s = file.read(). replace('\r', '')
, но оба варианта ломают файл и выдают cPickle.UnpicklingError
позже)
Проблема в том, что мне действительно нужно получить данные из объектов. Есть идеи, как исправить файлы?
Edit: По запросу, первые несколько сотен байт моего файла, Octal:
\x80\x02]q\x01(}q\x02(U\r\ntotal_timeq\x03G?\x90\x15r\xc9(s\x00U\rreaction_timeq\x04NU\x0ejump_directionq\x05cnumpy.core.multiarray\r\nscalar\r\nq\x06cnumpy\r\ndtype\r\nq\x07U\x02f8K\x00K\x01\x87Rq\x08(K\x03U\x01
Вы также можете скачать весь файл (22k).