Here we check the octets one-by-one than give a result whether IP address is valid or invalid.
Import module
import sys
Checking octets. Create ip_addr_valid function.
def ip_addr_valid(list):
Split list values with inside of for loop.
for ip in list:
ip = ip.rstrip("\n")
Divide each octet.
octet_list = ip.split('.')
Check each octet number whether it's in range or not. If it's in range, print valid. If not in range, print invalid
if (len(octet_list) == 4) and (1 <= int(octet_list[0]) <= 223) and (int(octet_list[0]) != 127) and (
int(octet_list[0]) != 169 or int(octet_list[1]) != 254) and (
0 <= int(octet_list[1]) <= 255 and 0 <= int(octet_list[2]) <= 255 and 0 <= int(octet_list[3]) <= 255):
print('{} is a valid IP address'.format(ip))
continue
else:
print('{} IP address is invalid'.format(ip))
sys.exit()
192.168.1.121 and 1.1.1.1 is a valid IP address
lista =["192.168.1.121","1.1.1.1"]
Call ip_addr_valid function for lista list.
ip_addr_valid(lista)
Full code is as below:
import sys
def ip_addr_valid(list):
for ip in list:
ip = ip.rstrip("\n")
octet_list = ip.split('.')
if (len(octet_list) == 4) and (1 <= int(octet_list[0]) <= 223) and (int(octet_list[0]) != 127) and (
int(octet_list[0]) != 169 or int(octet_list[1]) != 254) and (
0 <= int(octet_list[1]) <= 255 and 0 <= int(octet_list[2]) <= 255 and 0 <= int(octet_list[3]) <= 255):
print('{} is a valid IP address'.format(ip))
continue
else:
print('{} IP address is invalid'.format(ip))
sys.exit()
lista =["192.168.1.121","1.1.1.1"]
ip_addr_valid(lista)