Привет! В этой статье я расскажу о том, как реализовать калькулятор подсетей на языке программирования Python 3. Калькулятор будет принимать IP адрес и маску в формате CIDR (например٫ /27) как аргументы командной строки и выводить в консоль различные характеристики подсети.Прежде всего٫ создадим файл subnet_calculator.py и откроем его в любом текстовом редакторе. Затем добавим следующий код⁚
python
import sys
import ipaddress
def calculate_subnet(ip, cidr_mask)⁚
network ipaddress.ip_network(ip cidr_mask, strictFalse)
subnet_address network.network_address
subnet_mask network.netmask
first_host network.network_address 1
last_host network.broadcast_address ⏤ 1
broadcast_address network.broadcast_address
subnet_class network.network_address
print(″Адрес подсети⁚″, subnet_address)
print(″Маска подсети⁚″, subnet_mask)
print(″IP адрес первого хоста⁚″, first_host)
print(″IP адрес последнего хоста⁚″, last_host)
print(″Широковещательный адрес⁚″, broadcast_address)
print(″Класс подсети⁚″, subnet_class)
if __name__ ″__main__″⁚
ip sys.argv[1]
cidr_mask sys.argv[2]
calculate_subnet(ip, cidr_mask)
Для начала мы импортируем необходимые модули ⏤ sys и ipaddress. Модуль sys позволяет работать с аргументами командной строки, а модуль ipaddress предоставляет удобные функции для работы с IP адресами и подсетями.
Затем мы определяем функцию calculate_subnet, которая принимает аргументы ip и cidr_mask. Внутри функции создаем объект ip_network из модуля ipaddress, используя переданные аргументы ip и cidr_mask. Параметр strictFalse позволяет обрабатывать адреса с префиксом в неправильном формате.
Далее мы определяем различные характеристики подсети, такие как адрес подсети, маска подсети, IP адрес первого и последнего хостов, широковещательный адрес и класс подсети. Затем выводим эти характеристики в консоль с помощью функции print.В блоке кода if __name__ ″__main__″, мы получаем аргументы командной строки ip и cidr_mask с помощью sys.argv и передаем их в функцию calculate_subnet.Теперь, чтобы запустить наш калькулятор подсетей, откройте командную строку и перейдите в каталог с файлом subnet_calculator.py. Затем введите следующую команду⁚
python subnet_calculator.py
Где
python subnet_calculator.py 192.168.0.1/27
После выполнения команды вы увидите вывод в консоли, содержащий адрес подсети, маску подсети, IP адреса первого и последнего хостов, широковещательный адрес и класс подсети.
Это был мой опыт в создании калькулятора подсетей на языке Python 3. Надеюсь٫ эта статья была полезна для вас!