pythonnetwork-programmingip-address

Finding local IP addresses using Python's stdlib


How can I find local IP addresses (i.e. 192.168.x.x or 10.0.x.x) in Python platform independently and using only the standard library?


Solution

  • import socket
    socket.gethostbyname(socket.gethostname())
    

    This won't work always (returns 127.0.0.1 on machines having the hostname in /etc/hosts as 127.0.0.1), a paliative would be what gimel shows, use socket.getfqdn() instead. Of course your machine needs a resolvable hostname.