알고 싶습니다 utf-8 문자가 파이썬에서 파일의 키로 포함 된 사전을 cPickle
과 함께 저장하는 방법은 무엇입니까? 이 사전은 매우 크고 cPickle
은 pickle
보다 훨씬 빠르다고 들었습니다. 또한 UTF-8로 인코딩 된 키가 문제가 있다고 생각합니다. 다른 빠른 솔루션도 환영합니다. 여기 내가 무엇을하고 아래의 오류 메시지입니다 :cPickle Python을 사용하여 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
감사
왜 생각합니까 UTF8 키는 문제가있다? 절인 해봤습니까? –
실제로는 아니지만 파일에 쓸 때 인코딩해야합니까? – Hossein
TypeError는'uniq_ngrams_dict'가 사전이 아닌 함수임을 나타냅니다. – Omnifarious