使用Python的psutil包获取机器IPv4信息

该代码示例展示了如何在Python环境中利用psutil库获取Ubuntu 18.04系统上的IPv4地址。通过遍历网络接口,筛选出AF_INET类型的地址,过滤掉本地回环地址,最终得到并返回可用的IPv4地址。
摘要由CSDN通过智能技术生成

实现

在Python环境下,通过使用psutil包获取机器IP信息。测试机器为Ubuntu18.04。

import psutil

def getIP():
    """获取ipv4地址"""
    dic = psutil.net_if_addrs()
    ipv4_list = []
    for adapter in dic:
        snicList = dic[adapter]
        for snic in snicList:
            # if snic.family.name in {'AF_LINK', 'AF_PACKET'}:
            #     mac = snic.address
            if snic.family.name == 'AF_INET':
                ipv4 = snic.address
                if ipv4 != '127.0.0.1':
                    ipv4_list.append(ipv4)
            # elif snic.family.name == 'AF_INET6':
            #     ipv6 = snic.address
    if len(ipv4_list)>=1:
        return ipv4_list[0]
    else:
        return 'None'

if __name__ == '__main__':
    ip = getIP()
    print(ip)

在这里插入图片描述

参考资料

[1] psutil.net_if_addrs()
[2] Python获取本机 IP/MAC(多网卡)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值