Das Lesen der Dokumentation scheint dies nicht möglich zu sein, aber es scheint, dass eine Menge Leute in der Lage waren, kompliziertere Funktionalität in Pythons Lambda-Funktion zu schlagen.
Ich nutze die scapy-Bibliotheken, um einige Pakete zu erstellen. Speziell diese Fragen ist über die ConditionalField, die es ein Feld und eine Vergleichsfunktion nimmt, das Feld nur hinzugefügt, um das Paket, wenn der Vergleich wahr ist, aber ich brauche, um 2 Vergleiche zu tun.
Beispiel mit nur einer Prüfung, das funktioniert:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1)
Was ich will:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1 or (lamba pkt:pkt.special == 1))
Dies führt nicht zu den erwarteten Ergebnissen. Gibt es eine Möglichkeit, dies zu tun?