【Python】ローカルPCのIPアドレスを取得する

ローカルパソコンに入っている音楽ファイルを、

Google Home mini から出力するために、「IPアドレス」が必要になりました。

そこで、PythonからローカルPCのIPを調べることにしました。

import socket socket.gethostname() 'edosha_notepc' socket.gethostbyname(socket.gethostname()) '192.168.1.10' socket.gethostbyname_ex(socket.gethostname()) ('edosha_notepc', [], ['192.168.56.1', '10.150.2.139', '192.168.1.10'])

ローカルPC(Pyhon)から Google Notifier を使用して (http://【ip】/music/play.php?id=1)、 Google Home mini から曲を流す。

gethostbyname だと 169.・・・となったことがあったので、

ips = socket.gethostbyname_ex(socket.gethostname()) ip = ips[2][0]

ではなく、

ips = socket.gethostbyname_ex(socket.gethostname()) ip = "" for ip1 in ips[2]: if "10.0.1." in ip1: ip = ip1

↑こんな感じで、フィルタをかけるといいかもしれない。