函数 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