В мире сетевых приложений и программирования правильная обработка и проверка IP-адресов играет ключевую роль. В этой статье мы покажем два способа, как проверить IP-адрес с использованием языка Python: при помощи модулей socket и ipaddress.
Давайте начнем!
Хотите скачать книги по Python в 2 клика? Тогда вам в наш телеграм канал PythonBooks
В языке Python имеется множество модулей или библиотек, встроенных в язык. Одним из них является модуль socket.
Вот как можно проверить IP-адрес с помощью модуля socket:
import socket try: socket.inet_aton(ip_address) print(f"{ip_address is valid") except socket.error: print(f"{ip_address} is not valid!")
К сожалению, это работает не со всеми допустимыми IP-адресами. Например, не будут работать варианты IPv6, только IPv4.
Можно использовать функцию socket.inet_pton(socket_family, address)
и указать, какую версию IP-адреса вы хотите использовать, что может сработать. Однако функция inet_pton()
доступна только под Unix.
К счастью, есть лучший способ!
В стандартную библиотеку Python входит модуль ipaddress. Он доступен для использования на всех платформах и может применяться для проверки IPv4 и IPv6.
Вот как можно проверить IP-адрес с помощью встроенного в Python модуля ipaddress:
import ipaddress def ip_address_validator(ip): try: ip_obj = ipaddress.ip_address(ip) print(f"{ip} is a valid IP address") except ValueError: print(f"ERROR: {ip} is not a valid IP address!") ip_address_validator("192.168.5.1")
Модуль ipaddress делает проверку IP-адресов еще более простой, чем модуль socket!
Язык программирования Python предоставляет несколько модулей, при помощи которых можно проверить IP-адрес. Вы можете использовать либо модуль socket, либо модуль ipaddress. Модуль socket имеет некоторые ограничения на платформах, отличных от Unix. Поэтому модуль ipaddress, который можно использовать на любой платформе, предпочтительнее.
Примечание. Вероятно, можно найти и регулярное выражение для проверки IP-адреса. Однако использование модуля ipaddress проще и легче для отладки.
Перевод статьи «How to Validate an IP Address in Python».
При анализе данных часто требуется быстро найти абсолютное значение набора чисел. Для выполнения этой задачи…
Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…