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

yipeiwu_com6年前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之列表的插入&替换修改方法

用例子说明 fruit = ['pineapple','grape','pear'] fruit[0:0] = ['Orange'] #在fruit集合中第一位插入字符串'Ora...

浅谈python中的实例方法、类方法和静态方法

在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人...

python 字典中取值的两种方法小结

如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name']) prin...

Python reduce()函数的用法小结

Python reduce()函数的用法小结

reduce()函数也是Python内置的一个高阶函数。 reduce() 格式: reduce (func, seq[, init()]) reduce()函数即为化简函数,它的执行过...

python 不关闭控制台的实现方法

直接打开dos窗口,再执行python程序 在脚本的最后一行后面添加:raw_input()语句,这样直到按下回车键,窗口才关闭。 使用time模块的sleep函数,它有一个参数,传入数...