Получить IP-маску с IP-адреса и длины маски в Python

Имеется IP-адрес в четырехточечной нотации, например:
192.192.45.1
И длина маски, например, 8, 16, 24 обычно, но может быть любой, то есть 17.

Может ли кто-нибудь предоставить код на python для вычисления маски подсети? Желательно я может получить результат в виде 32-разрядного целого числа, чтобы его можно было легко хэшировать, а затем переинтерпретировать как пунктирную четверку, когда это необходимо для печати. Я вижу, что в Python есть библиотека сокетов, которая в основном является оболочкой для API сокетов Unix. Я также видел, что у него есть функция inet_ntoa (), но он возвращает какую-то структуру пакета. Я не очень хорошо знаком со структурной библиотекой Python, поэтому я надеялся, что у некоторых других будут какие-то идеи. Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос