Я хочу знать, как сохранить словарь, содержащий символы utf-8 в качестве ключей для файла в Python с cPickle
?этот словарь очень большой, и я слышал, что cPickle
намного быстрее, чем pickle
.Кроме того, я полагаю, что наличие ключей в кодировке utf-8 также проблематично.Любые другие быстрые решения также приветствуются.вот что я делаю и ниже сообщение об ошибке:
unique_ngrams_dict = defaultdict(lambda: 0)# just to show how I defined my dict
dict_file = codecs.open('ngram_dict', 'w', 'utf-8')
cPickle.dump(unique_ngrams_dict,dict_file)
dict_file.close()
сообщение об ошибке:
Traceback (most recent call last):
File "Generate_NGram.py", line 81, in <module>
save_ngram_dict(unique_ngrams_dict)
File "Generate_NGram.py", line 70, in save_ngram_dict
cPickle.dump(unique_ngrams_dict,dict_file)
File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle function objects
спасибо