我腌制了 2.7 中的数据,我这样腌制:
#!/usr/bin/env python2
# coding=utf-8
import pickle
data = {1: datetime.date(2014, 3, 18),
'string-key': u'ünicode-string'}
pickle.dump(data, open('file.pickle', 'wb'))
我发现在 Python 3.4 中加载它的唯一方法是:
data = pickle.load(open('file.pickle', "rb"), encoding='bytes')
现在我的 unicode 字符串很好,但 dict 键是bytes
. print(repr(data))
给出:
{1: datetime.date(2014, 3, 18), b'string-key': 'ünicode-string'}
有没有人有想法像data[b'string-key']
resp 那样重写我的代码。转换所有现有文件?