Найти тему
Калинкин

Как проверить IP-адрес в Python

Оглавление
IP-адрес
IP-адрес

Проверка данных - одна из многих задач, с которыми сталкиваются инженеры по всему миру. Ваши пользователи косячат и опечатываются так же часто, как и все, поэтому вы должны попытаться отловить эти ошибки.

Один из распространенных типов информации, который потребуется собрать инженеру, - это информация о том, кто хочет отредактировать или ввести IP-адрес для устройства. Эти адреса состоят из четырех наборов чисел, разделенных точками. Каждый из этих четырех наборов состоит из целых чисел от 0 до 255.

Самый низкий IP-адрес будет 0.0.0.0, а самый высокий - 255.255.255.255.

В этой статье вы рассмотрите следующие способы проверки IP-адреса с помощью Python:

  • Использование модуля socket
  • Использование модуля ipaddress

Давайте начнем!

Использование модуля socket

В язык Python встроено множество модулей или библиотек. Одним из таких модулей является модуль socket.

Вот как вы можете проверить IP-адрес с помощью модуля socket:

Python - socket
Python - socket

К сожалению, это работает не со всеми допустимыми IP-адресами. Например, этот код не будет работать с вариантами IPv6, только с IPv4. Вы можете использовать socket.inet_pton(socket_family, адрес) и укажите, какую версию IP вы хотите использовать, что может сработать. Однако функция inet_pton() доступна только в Unix.

К счастью, есть способ получше!

Использование модуля ipaddress

Python также включает модуль ipaddress модуль в свою стандартную библиотеку. Этот модуль доступен для использования на всех платформах и может использоваться для проверки IPv4 и IPv6.

Вот как вы можете проверить IP-адреса, используя встроенную в Python адрес модуль:

Python -  ipaddress
Python - ipaddress

Модуль ipaddress делает проверку IP-адресов еще проще, чем модуль socket!

Подведение итогов

Язык программирования Python предоставляет пару модулей, которые вы можете использовать для проверки IP-адресов. Вы можете использовать либо модуль socket , либо модуль ipaddress. Socket модуль имеет некоторые ограничения на платформах, отличных от Unix. Это делает использование модуля ipaddress предпочтительным, поскольку вы можете использовать его на любой платформе.

Примечание: Вероятно, вы могли бы найти регулярное выражение, которое можно было бы использовать и для проверки IP-адреса. Однако использование модуля ipaddress проще и легче отлаживается.