Pythonを使用してローカルIPアドレスを取得してみます。
標準のsocketモジュールを使用します。
import socket ip = socket.gethostbyname(socket.gethostname()) print(ip)
Windowsではこれを実行するとIPアドレスが取得できますが、Ubuntuでは'127.0.1.1'が返されてしまいます。
そこで、netifacesモジュールを使用してみます。
pypi.org
インストールはいつも通り、pipコマンドを使用します。
pip install netifaces
import netifaces ipifs= netifaces.interfaces() print(ipifs)
これを実行するとインターフェイスのリストが表示されます。
['lo0', 'en0', 'en1']
詳細を取得したいインターフェイスを指定することも可能。importは省略。
ipif= netifaces.ifaddresses('en0') print(ipif)
ip = netifaces.ifaddresses('en0')[netifaces.AF_INET][0]['addr'] print(ip)