当前位置:首页 >> 脚本专栏

Python简单获取网卡名称及其IP地址的方法【基于psutil模块】

本文实例讲述了Python简单获取网卡名称及其IP地址的方法。分享给大家供大家参考,具体如下:

windows上想知道网卡和IP地址,可以使用ipconfig命令,在linux上可以使用ifconfig命令,得到输出后,可以解析输出内容,我要介绍的方法更为简单,只需要安装一个名为psutil的第三方库即可

# -*- coding: utf-8 -*-
#! python2
import psutil
#获取网卡名称和其ip地址,不包括回环
def get_netcard():
 netcard_info = []
 info = psutil.net_if_addrs()
 for k,v in info.items():
 for item in v:
  if item[0] == 2 and not item[1]=='127.0.0.1':
  netcard_info.append((k,item[1]))
 return netcard_info
if __name__ == '__main__':
 print get_netcard()

本机测试运行结果:

[('\xb1\xbe\xb5\xd8\xc1\xac\xbd\xd3', '192.168.3.37')]

补充:这里使用了psutil模块,若提示Unresolved import: psutil,则需要使用如下命令进行安装:

pip install psutil

psutil模块功能十分强大,可针对系统资源进行读取监控(包括CPU、内存、磁盘、网络等)。实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

关于psutil模块的安装与详细使用方法可参考:https://www.jb51.net/article/140727.htm

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python数学运算技巧总结》

希望本文所述对大家Python程序设计有所帮助。