欢迎访问宙启技术站
智能推送

使用Python获取本地设备列表的方法:list_local_devices()函数详解

发布时间:2023-12-26 06:58:40

要获取本地设备列表,我们可以使用Python的psutil库。psutil是一个跨平台的进程和系统工具库,它提供了许多用于获取系统信息的函数,例如CPU使用情况、内存使用情况和网络连接等。

要获取本地设备列表,可以使用psutil.net_if_addrs()函数。这个函数返回一个字典,其中键是设备的名称,值是该设备的地址信息。

下面是list_local_devices()函数的定义:

import psutil

def list_local_devices():
    devices = psutil.net_if_addrs()
    result = []
    for device, addrs in devices.items():
        for addr in addrs:
            if addr.family == psutil.AF_INET:
                result.append((device, addr.address))
    return result

这个函数首先调用psutil.net_if_addrs()获取设备列表,并将其存储在devices变量中。然后,函数遍历devices字典中的每个设备,并检查每个设备的地址列表。

如果地址的类型是IPv4(addr.family == psutil.AF_INET),则将设备名称和地址添加到result列表中。

最后,函数返回result列表,其中包含了所有使用IPv4地址的本地设备。

下面是一个使用例子:

devices = list_local_devices()
for device in devices:
    print(f"Device: {device[0]}, IP Address: {device[1]}")

这个例子首先调用list_local_devices()函数,得到本地设备列表。然后,使用for循环遍历设备列表,并打印每个设备的名称和IPv4地址。

这是一个示例输出:

Device: lo, IP Address: 127.0.0.1
Device: en0, IP Address: 192.168.1.101
Device: en5, IP Address: 192.168.1.102

这个输出表示本地设备列表中有三个设备,它们的名称分别是loen0en5,对应的IPv4地址分别是127.0.0.1192.168.1.101192.168.1.102

以上是使用Python获取本地设备列表的方法,希望对你有帮助!