2011-05-15 37 views
16


我正在尋找工具,或者在python中查找/如何驗證字典的示例。
例如,我有字典:在Python中驗證字典

test = {'foo' : 'bar', 'nested' : {'foo1' : 'bar1', 'foo2' : 'bar2'} } 

,現在我必須驗證它。可以說,鍵值foo的值必須是布爾值或非空字符串。接下來,如果密鑰foo1的值爲bar1,則該密鑰foo2必須爲的整數範圍爲1..10。我寫了簡單的功能來做到這一點,但這並不是我想要的。是的,當然,我可以用if..else來測試字典中的每一項,但是如果字典有> 50個元素,那麼它有點不舒服。

有什麼好的工具/ lib在Python中做到這一點?我不是在尋找解析器,只有快速和有效的方法來做到這一點。

+0

這是一個罕見的情況。我認爲這個特定任務沒有解析器。也許你可以在字典上使用'map'功能。 – 2011-05-15 23:18:30

+0

**另請參閱**:https://stackoverflow.com/questions/45346374/python-schema-to-have-at-least-one-key – dreftymac 2017-09-29 15:36:57

回答

0

韋伯斯特是執行字典驗證和值正則表達式驗證的pypi包。這可以讓您確保字典具有所有的關鍵字,它們的值應該與您所期望的大致相同。

https://pypi.python.org/pypi/Webster

+1

因爲這是一個4年的問題,已經被接受的答案,如果你提供更多的細節會更好。您是否提出了更具創新性的解決方案?如果是,請解釋它。你是否複製了提出的例子? – aberna 2015-02-12 20:59:07