Validating knowledge is among the many duties engineers face around the globe. Your customers make typos as usually as anybody else, so you have to attempt to catch these errors.
One frequent kind of data that an engineer might want to seize is somebody who desires to edit or enter an IP handle for a tool. These addresses are made up of 4 units of numbers separated by intervals. Every of those 4 units are made up of integers from 0-255.
The bottom IP handle could be 0.0.0.0, and the very best could be 255.255.255.255.
On this article, you’ll have a look at the next methods to validate an IP handle with Python:
- Utilizing the socket module
- Utilizing the ipaddress module
Let’s get began!
Utilizing the socket Module
Python has plenty of modules or libraries built-in to the language. A type of modules is the socket module.
Right here is how one can validate an IP handle utilizing the socket module:
import socket strive: socket.inet_aton(ip_address) print(f"{ip_address is legitimate") besides socket.error: print(f"{ip_address} is just not legitimate!")
Sadly, this doesn’t work with all legitimate IP addresses. For instance, this code gained’t work IPv6 variants, solely IPv4. You should use socket.inet_pton(socket_family, handle) and specify which IP model you need to use, which can work. Nonetheless, the inet_pton() perform is just obtainable on Unix.
Fortunately, there’s a higher manner!
Utilizing the ipaddress Module
Python additionally contains the ipaddress module in its customary library. This module is on the market to be used on all platforms and can be utilized to validate IPv4 and IPv6.
Right here is how one can validate an IP handle utilizing Python’s built-in ipaddress module:
import ipaddress def ip_address_validator(ip): strive: ip_obj = ipaddress.ip_address(ip) print(f"{ip} is a sound IP handle") besides ValueError: print(f"ERROR: {ip} is just not a sound IP handle!") ip_address_validator("192.168.5.1")
The ipaddress module makes validating IP addresses even easier than the socket module!
Wrapping Up
The Python programming language gives a few modules that you need to use to validate IP addresses. You should use both the socket module or the ipaddress module. The socket module has some limitations on platforms apart from Unix. That makes utilizing the ipaddress module preferable since chances are you’ll apply it to any platform.
Word: You may in all probability discover a common expression that you could possibly use to validate an IP handle, too. Nonetheless, leveraging the ipaddress module is easier and simpler to debug.