Мне нужно проанализировать механизм и серьезность сообщений syslog в Python. Эти значения приходят с каждым сообщением как одно целое. Степень тяжести события 0-7, указанная в 3 младших значащих битах целого числа. Каков самый простой/быстрый способ оценить эти 3 бита из числа?Чтение наименее значимых бит в Python
Код, который у меня есть сейчас, просто имеет 3-битный сдвиг вправо, чем умножает это число раз 8 и вычитает результат из оригинала.
FAC = (int(PRI) >> 3)
SEV = PRI - (FAC * 8)
Там должен быть менее запутанным способом сделать this-, а не уничтожить биты и вычитание.
(Я системным администратором по торговле так, я не знаю, что многие из ОСНОВЫ пожалуйста, голые со мной!)
В Python 3 (и, возможно, в версии 2.6/2.7?) Вы можете даже использовать двоичный литерал, который делает его очень очевидным для тех, у кого проблемы с запоминанием (полномочия двух) - 1: '0b111'. – delnan