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, 欢迎各位读者指正!

猜你喜欢

转载自blog.csdn.net/Tank_Li/article/details/80866304