python在windows和linux下获得本机本地ip地址方法小结

yipeiwu_com5年前Python基础

本文实例总结了python在windows和linux下获得本机本地ip地址方法。分享给大家供大家参考。具体分析如下:

python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,socket对象的gethostbyname方法可以根据主机名获得本机ip地址,socket对象的gethostbyname_ex方法可以获得本机所有ip地址列表

第一种方法:通过socket.gethostbyname方法获得

import socket
localIP = socket.gethostbyname(socket.gethostname())#得到本地ip
print "local ip:%s "%localIP

返回结果如下:

'172.16.34.102'

第二种方法:通过socket.gethostbyname_ex方法获得本机主机名和ip地址列表

import socket
ipList = socket.gethostbyname_ex(socket.gethostname())
print(ipList)

返回结果如下:

('china-43226208c', [], ['192.168.5.196'])

以上两种方法在linux下也可以使用,linux下还以通过下面的代码获取本机ip地址

import socket
import fcntl
import struct
def get_ip_address(ifname):
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  return socket.inet_ntoa(fcntl.ioctl(
    s.fileno(),
    0x8915, # SIOCGIFADDR
    struct.pack('256s', ifname[:15])
  )[20:24])

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

相关文章

python使用pil库实现图片合成实例代码

python使用pil库实现图片合成实例代码

本文研究的主要是python PIL实现图片合成的相关内容,具体介绍如下,分享实例代码。 在项目中需要将两张图片合在一起。遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明p...

python+splinter自动刷新抢票功能

抢票脚本,python +splinter自动刷新抢票,可以成功抢到(依赖自己的网络环境太厉害,还有机器的好坏),但是感觉不是很完美。 有大神请指导完善一下(或者有没有别的好点的思路),...

python获取一组数据里最大值max函数用法实例

本文实例讲述了python获取一组数据里最大值max函数用法。分享给大家供大家参考。具体如下: # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使...

wxPython实现列表增删改查功能

本文实例为大家分享了wxPython实现列表增删改查的具体代码,供大家参考,具体内容如下 #-*-coding: UTF-8 -*- import wx class AddBanj...

给Python的Django框架下搭建的BLOG添加RSS功能的教程

前些天有位网友建议我在博客中添加RSS订阅功能,觉得挺好,所以自己抽空看了一下如何在Django中添加RSS功能,发现使用Django中的syndication feed framewo...