python3_获取本机指定网段的IP地址

获取本机指定网段的IP地址

接口:socket.gethostbyname_ex(hostname)

多网卡的PC,使用socket.gethostbyname_ex(hostname)接口获取的是一个含计算机名、多个ip地址的triple,要怎样把属于1网段的IP定位到并提取出来呢?请看下面的示例:
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
__author__ = 'Tank Li'

import socket

def get_ip():
    """
    多网卡PC,获取其中1网段的ip地址
    :return:ip
    """
    hostname = socket.gethostname()  # 获取本机计算机名
    ipTriple = socket.gethostbyname_ex(hostname)  # 获取本机所有IP地址
    print("本机计算机名及所有ip地址为"+str(ipTriple))
    ips = list(ipTriple[2:])
    ip = ""
    for i in ips:
        ipList = list(i)
        for ip1 in ipList:
            if ip1[7:10] == ".1.":
                ip += ip1
    print("本机1网段的IP地址为:" + ip)
    return ip

if __name__ == '__main__':
    get_ip()

代码有点low, 欢迎各位读者指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值