用python编写验证输入的IP地址是否正确用for循环
时间: 2024-09-24 15:28:33 浏览: 37
在Python中,你可以使用内置模块`socket`来检查一个字符串是否是一个有效的IP地址。下面是一个简单的例子,使用for循环遍历可能的IP部分(分为四段),并结合正则表达式来验证它们:
```python
import socket
import re
def is_valid_ip(ip_str):
# IP地址通常由4个0-255之间的数字组成,可以用点分十进制表示
pattern = r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
# 使用for循环分割IP地址并检查每个部分
for part in ip_str.split('.'):
if not re.match(pattern, part):
return False
# 如果所有部分都匹配,尝试创建一个临时套接字来进一步验证有效性
try:
socket.inet_aton(ip_str)
return True
except socket.error:
return False
# 测试函数
ip_to_test = input("请输入一个IP地址:")
if is_valid_ip(ip_to_test):
print(f"{ip_to_test} 是一个有效的IP地址.")
else:
print(f"{ip_to_test} 不是一个有效的IP地址.")
阅读全文