python在windows和linux下获得本机本地ip地址的方法汇总,pythonlinux,第一种方法:通过sock


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

import socketlocalIP = socket.gethostbyname(socket.gethostname())#得到本地ipprint "local ip:%s "%localIP
                                返回结果如下:
'172.16.34.102'
                                第二种方法:通过socket.gethostbyname_ex方法获得本机主机名和ip地址列表
ipList = socket.gethostbyname_ex(socket.gethostname())print(ipList)
                                返回结果如下:
('byrx.net', [], ['172.16.34.102', '169.254.185.115'])
                                以上两种方法在linux下也可以使用,linux下还以通过下面的代码获取本机ip地址
import socketimport fcntlimport structdef 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])

评论关闭