函数 valid_ip 主要将 包含255,127.0.0.1,0.0.0.0等地址进行过滤,通过判断返回False及True。
函数 get_ip 先通过ifconfig获取当前ip地址信息,接着通过match匹配出所有ip地址,然后通过filter将valid_ip 和 具体的ip地址进行过滤。最后得出本机IP地址。
#!/usr/bin/python
import os
import re
def valid_ip(ip):
if ("255" in ip) or ( ip == "127.0.0.1") or ( ip == "0.0.0.0" ):
return False
else:
return True
def get_ip(valid_ip):
ipss = ''.join(os.popen("ifconfig").readlines())
match = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
ips = re.findall(match, ipss, flags=re.M)
ip = filter(valid_ip, ips)
return ''.join(ip)
ip_addr = get_ip(valid_ip)
print ip_addr
本文介绍了一个使用Python编写的简单程序,该程序通过过滤特定的IP地址(如255.255.255.255, 127.0.0.1, 0.0.0.0等)来获取本机的有效IP地址。程序首先通过ifconfig命令获取IP信息,然后使用正则表达式匹配所有可能的IP地址,并最终通过自定义的valid_ip函数筛选出有效的本地IP地址。
535

被折叠的 条评论
为什么被折叠?



