@kyanny's blog

My thoughts, my life. Views/opinions are my own.

ローカルIPアドレスを取得する、コードスニペット

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

Perl で IO::Interface 使うとかいうやり方もあるみたい。でもこっちのほうが標準モジュールだけで出来るので楽だ。仕組みはあんまりわかってない・・・。ローカルIPアドレスとグローバルIPアドレスが割り振られてるときとか、どうなるんだろう。

ワンライナーでやるなら、こう。

$ python -c "import socket; print socket.gethostbyname(socket.gethostname())"

Perl スクリプトの中から使うこともできる(本末転倒気味)

#!perl
use strict;
my $cmd = "python -c 'import socket; print socket.gethostbyname(socket.gethostname())'";
my $ip = `$cmd`;
print $ip;