我有一個Python對象數組,我想獲得對於給定的邏輯公式計算爲true的所有對象。過濾匹配給定邏輯公式的對象
假設對象是任務跟蹤系統中的任務。每個任務都有一個狀態,一個受讓人和一個到期日。現在,我想獲得計算結果爲true,這個公式中的所有對象:
(assignee=cdecker OR due=tomorrow) AND status=open
類的東西的對象字段(assignee
和status
),這將是檢查的平等一件簡單的事情,而due=tomorrow
將是一個函數在對象上調用。
是否有一個簡單的解析器,我可以用它來解析表達式,然後對我的起始集中的所有對象進行評估(基本上將所有文字連接到函數調用)?
我已經研究過pyparsing,但樹對我來說是新的。從根中走過樹並評估平等性,我應該以整個表達式的真實還是錯誤爲結果?任何想法如何有效地做到這一點? – cdecker
有沒有什麼辦法可以爲pyparsing添加文字回調? – cdecker
@cdecker:是的,查找'setParseAction'。 – georg