Ich möchte wissen, wie man ein Wörterbuch mit utf-8-Zeichen als seine Schlüssel in eine Datei in Python mit speichern cPickle
? dieses Wörterbuch ist sehr umfangreich und ich habe gehört, dass cPickle
ist viel schneller als pickle
. Ich nehme auch an, dass utf-8 kodierte Schlüssel ebenfalls problematisch sind. Jede andere schnelle Lösung ist ebenfalls willkommen. Hier ist, was ich tue und unten ist die Fehlermeldung:
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()
Fehlermeldung:
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
danke