1
A
回答
2
最佳,您的規定的條件下:
import cPickle
...
thestring = cPickle.dumps(thedict, -1)
的-1
保證最有效地串行化,併產生一個二進制串(字節任意字符串)。如果你需要一個ascii字符串(因爲例如一些Unicode轉碼將發生,並且你不能將字段的類型從TEXT
切換到BLOB
),請避免使用-1
,但效率會降低。
從字符串得到字典回來以後,在任何情況下,
thenewdict = cPickle.loads(thestring)
3
4
1
你有兩個選擇
使用標準序列化格式(JSON,XML,YAML,.. )
- 優點:您可以使用任何可以解析這些格式的語言進行訪問(在最糟糕的情況下,您可以編寫自己的解析器) 個
- 缺點:可能會比較慢,保存並加載數據(這主要取決於執行)
使用的cPickle:
- 優點:使用方便,快捷,原生的Python的方式做序列化。
- 缺點:只有基於python的應用才能訪問數據。
2
有任何數量的序列化方法在那裏,JSON是可讀的,緊湊合理,原生支持,而且便於攜帶。我更喜歡它,因爲後者可以執行任意代碼並可能引入安全漏洞,並且因爲它的可移植性。
根據您的數據佈局,您也可以使用ORM將數據直接映射到數據庫結構中。
相關問題
- 1. Python,在數據庫中存儲字典
- 2. 數據庫字典存儲推薦
- 3. 將數據庫數據存儲在字典中以在圖表上顯示
- 4. python,在數據框中存儲字典
- 5. 在Json中存儲字典的數據
- 6. 如何在Django數據庫模型的字段中存儲字典
- 7. 我如何訪問存儲在字典鍵中的列表值?
- 8. 如何在redis中存儲python列表的字典?
- 9. 如何在SQL Server數據庫表列中存儲圖像
- 10. 如何在數據庫中存儲大型列表
- 11. 如何在關係數據庫中存儲和索引列表?
- 12. 存儲在內容數據庫中的Sharepoint列表字段?
- 13. 在mysql數據庫中存儲瑞典語字符
- 14. 如何將圖像數據存儲在字典中
- 15. 如何將表數據存儲在SQL Server數據庫中?
- 16. 如何將ruport表數據對象存儲在數據庫中?
- 17. golang等價於存儲數據的字典列表
- 18. 如何存儲在字典中
- 19. 如何在字典中存儲變量
- 20. 如何在文件中存儲字典?
- 21. 如何在鏈接列表中存儲數字列表
- 22. C# - 從數據庫中檢索數據並存儲在2維字典中?
- 23. 如何在數據庫中存儲
- 24. 如何在數據庫中存儲「\」?
- 25. 如何在android數據庫中存儲
- 26. 如何將文件的列表存儲在MYSQL數據庫
- 27. 如何存儲類似庫存的數字列表?
- 28. 在數據庫中存儲MSMQ隊列
- 29. 在GAE中存儲詞典列表
- 30. Python對象存儲內存/字典/數據庫/其他選項
這將與utf-8一起工作,對吧? (只是,默認字符串,我的意思是。) – TIMEX 2010-02-23 00:37:38
'utf-8'在鍵和值方面很好,但不能保證'thestring'會遵循'utf-8'編碼(很可能它不會:它是隻是字節!)。如果這是一個問題,你必須省略'-1'參數(有一個原因,「做最快,最有效,最簡潔的序列化」不是默認的,但需要顯式的'-1'...實際上有多個原因,但這是其中之一;-)。 – 2010-02-23 00:45:11
出於安全原因,我要避免-1 :),只是做正常。無論如何我都不在乎速度。 – TIMEX 2010-02-23 00:55:26