Я пытаюсь данные массива данных, созданного в Python3.2, выбрать его, а затем открыть его в Python2.7.Тем не менее, существует некоторая часть данных, на которые возражает Python2.7, хотя на примере данных все в порядке, и мне было интересно, как выяснить, что происходит не так.
Так что вPython3.2:
import pickle
with open('c:\\test.pickle', mode='wb') as f:
pickle.dump(t_array, f, 2)
Затем при чтении в Python2.7:
import pickle
f = open('c:\\test.pickle', mode='rb')
t_data = pickle.load(f)
Ошибка:
File "C:\Python27\lib\pickle.py", line 1378, in load
return Unpickler(file).load()
File "C:\Python27\lib\pickle.py", line 858, in load
dispatch[key](self)
File "C:\Python27\lib\pickle.py", line 1217, in load_build
setstate(state)
TypeError: must be char, not unicode
Данные представляют собой массивДикты, вложенные не более двух глубоких, например:
{'key3': '3', 'key2': 1.1, 'key1': 1, 'dict': {'dkey2': 2, 'dkey1': 1}}
Что (вероятно) здесь не так?Есть ли какой-нибудь простой способ увидеть, что в исходном (большом) наборе данных вызывает проблему?