Проверка данных - одна из многих задач, с которыми сталкиваются инженеры по всему миру. Ваши пользователи косячат и опечатываются так же часто, как и все, поэтому вы должны попытаться отловить эти ошибки.
Один из распространенных типов информации, который потребуется собрать инженеру, - это информация о том, кто хочет отредактировать или ввести IP-адрес для устройства. Эти адреса состоят из четырех наборов чисел, разделенных точками. Каждый из этих четырех наборов состоит из целых чисел от 0 до 255.
Самый низкий IP-адрес будет 0.0.0.0, а самый высокий - 255.255.255.255.
В этой статье вы рассмотрите следующие способы проверки IP-адреса с помощью Python:
- Использование модуля socket
- Использование модуля ipaddress
Давайте начнем!
Использование модуля socket
В язык Python встроено множество модулей или библиотек. Одним из таких модулей является модуль socket.
Вот как вы можете проверить IP-адрес с помощью модуля socket:
К сожалению, это работает не со всеми допустимыми IP-адресами. Например, этот код не будет работать с вариантами IPv6, только с IPv4. Вы можете использовать socket.inet_pton(socket_family, адрес) и укажите, какую версию IP вы хотите использовать, что может сработать. Однако функция inet_pton() доступна только в Unix.
К счастью, есть способ получше!
Использование модуля ipaddress
Python также включает модуль ipaddress модуль в свою стандартную библиотеку. Этот модуль доступен для использования на всех платформах и может использоваться для проверки IPv4 и IPv6.
Вот как вы можете проверить IP-адреса, используя встроенную в Python адрес модуль:
Модуль ipaddress делает проверку IP-адресов еще проще, чем модуль socket!
Подведение итогов
Язык программирования Python предоставляет пару модулей, которые вы можете использовать для проверки IP-адресов. Вы можете использовать либо модуль socket , либо модуль ipaddress. Socket модуль имеет некоторые ограничения на платформах, отличных от Unix. Это делает использование модуля ipaddress предпочтительным, поскольку вы можете использовать его на любой платформе.
Примечание: Вероятно, вы могли бы найти регулярное выражение, которое можно было бы использовать и для проверки IP-адреса. Однако использование модуля ipaddress проще и легче отлаживается.