При чтении документации кажется, что это может быть невозможно, но, похоже, многим людям удалось превратить более сложную функциональность в лямбда-функцию питонов.
Я использую библиотеки scapy для создания пакетов. В частности, этот вопрос о ConditionalField, который принимает его как поле и функцию сравнения, поле добавляется в пакет, только если сравнение истинно, но мне нужно сделать 2 сравнения.
Пример только с одной проверкой, это работает:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1)
Что я хочу:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1 or (lamba pkt:pkt.special == 1))
Это не дает ожидаемых результатов. Есть ли способ сделать это?