使用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
这个输出表示本地设备列表中有三个设备,它们的名称分别是lo、en0和en5,对应的IPv4地址分别是127.0.0.1、192.168.1.101和192.168.1.102。
以上是使用Python获取本地设备列表的方法,希望对你有帮助!
