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

yipeiwu_com5年前Python基础

本文实例讲述了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模块的安装与详细使用方法可参考:/post/140727.htm

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

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

相关文章

Python随机数random模块使用指南

random 模块是Python自带的模块,除了生成最简单的随机数以外,还有很多功能。 random.random() 用来生成一个0~1之间的随机浮点数,范围[0,10 >...

Python 合并多个TXT文件并统计词频的实现

Python 合并多个TXT文件并统计词频的实现

需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词 逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 tx...

python join方法使用详解

join方法 join这个方法,将可迭代的数据类型,转为字符串或者bytes,没错可以转为bytes类型。注意这个可迭代的数据中的元素必须是相同类型的。 jion里的参数可迭代对象就行...

解决Django migrate不能发现app.models的表问题

有时候运行Django的migrate命令不能创建INSTALLED_APPS中的app中的models.py的数据库表, 这时可以先运行: python manage.py mak...

Python正则表达式分组概念与用法详解

本文实例讲述了Python正则表达式分组概念与用法。分享给大家供大家参考,具体如下: 正则表达式分组 分组就是用一对圆括号“()”括起来的正则表达式,匹配出的内容就表示一个分组。从正则...