2015-08-19 29 views
-2

我有一個使用元組的字典詞典,因爲它是鍵和值。我想寫這本字典,並試過json和pickle,但他們都沒有工作。有更好的選擇嗎?在python中存儲元組的嵌套字典

https://github.com/jgv7/markov-generator/blob/master/sentence-generator.py

+2

當你說「他們都沒有工作」,你能描述一下你所看到的問題嗎? – psmears

+2

JSON和'pickle'是非常受歡迎的模塊,只要正確使用它們就可以正常工作。如果他們「不工作」,問題在於別處。 – TigerhawkT3

+4

在問題中包含您的代碼;不要只鏈接到代碼。並且特別是在下一次有提交時它不會改變代碼(因爲它只是指向'master')。 – Cyphase

回答

1

JSON期望密鑰值對的關鍵是字符串或者能夠適當地轉換爲字符串的數。底線 - 不能做一個字元組作爲鍵的json.dumps。

pickle應該工作,除非字典對象沒有正確序列化。

+0

謝謝教育我!正如BlackJack指出的那樣,我也在不正確地使用pickle,所以現在問題已經解決了。 –

+0

很高興爲你解決問題。看起來你正在得到一個拋出的異常。我不好設想。乾杯!! –

0

從代碼:

with open(filename, 'rb') as df: 
    pickle.load(df) 
print mapping 

您不要在load()調用的名稱的結果結合,使該行沒有任何影響(僅僅是消耗了處理器時間和移動文件指針等)。這應該是:

with open(filename, 'rb') as df: 
    mapping = pickle.load(df) 
print mapping 
+0

謝謝,大酒杯!這正是問題所在。這是我第一次使用pickle,當然我使用的示例代碼是錯誤的。 –