python之netifaces模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之netifaces模块相关的知识,希望对你有一定的参考价值。
#!/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- """ Create Date: 2016/12/26 Create Time: 17:53 show Windows or Linux network Nic status, such as MAC address, Gateway, IP address, etc # python getNetworkStatus.py Routing Gateway: 10.0.0.1 Routing NIC Name: enp3s0 Routing NIC MAC Address: 10:c3:7b:61:22:02 Routing IP Address: 10.0.0.194 Routing IP Netmask: 255.255.255.0 """ import os import sys try: import netifaces except ImportError: try: command_to_execute = "pip install netifaces || easy_install netifaces" os.system(command_to_execute) except OSError: print "Can NOT install netifaces, Aborted!" sys.exit(1) import netifaces routingGateway = netifaces.gateways()[‘default‘][netifaces.AF_INET][0] routingNicName = netifaces.gateways()[‘default‘][netifaces.AF_INET][1] for interface in netifaces.interfaces(): if interface == routingNicName: # print netifaces.ifaddresses(interface) routingNicMacAddr = netifaces.ifaddresses(interface)[netifaces.AF_LINK][0][‘addr‘] try: routingIPAddr = netifaces.ifaddresses(interface)[netifaces.AF_INET][0][‘addr‘] # TODO(Guodong Ding) Note: On Windows, netmask maybe give a wrong result in ‘netifaces‘ module. routingIPNetmask = netifaces.ifaddresses(interface)[netifaces.AF_INET][0][‘netmask‘] except KeyError: pass display_format = ‘%-30s %-20s‘ print display_format % ("Routing Gateway:", routingGateway) print display_format % ("Routing NIC Name:", routingNicName) print display_format % ("Routing NIC MAC Address:", routingNicMacAddr) print display_format % ("Routing IP Address:", routingIPAddr) print display_format % ("Routing IP Netmask:", routingIPNetmask)
windows执行的Routing NIC Name可能会出现C20B1496-F5CA-4670-A4FB-之类
https://pypi.python.org/pypi/netifaces 用法
本文出自 “禅剑一如” 博客,请务必保留此出处http://yanconggod.blog.51cto.com/1351649/1886289
以上是关于python之netifaces模块的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 python2.7 的 netifaces 模块安装?