python获得本机本地ip地址的方法汇总,pythonip,python的socke


python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,socket对象的gethostbyname方法可以根据主机名获得本机ip地址,socket对象的gethostbyname_ex方法可以获得本机所有ip地址列表 第一种方法:通过socket.gethostbyname方法获得```pythonimport socketlocalIP = socket.gethostbyname(socket.gethostname())#得到本地ipprint "local ip:%s "%localIP

返回结果如下:python'172.16.34.102'

第二种方法:通过socket.gethostbyname_ex方法获得本机主机名和ip地址列表pythonipList = socket.gethostbyname_ex(socket.gethostname())print(ipList)

返回结果如下:python('sharejs.com', [], ['172.16.34.102', '169.254.185.115'])

以上两种方法在linux下也可以使用,linux下还以通过下面的代码获取本机ip地址pythonimport socketimport fcntlimport 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])

```

评论关闭