When it’s ready.

出来るまで出来ない

pythonからコマンド呼ぶ

pythonからコマンド呼んでその返り値も利用して何かしたくなった。
sh使った方が良いとかそういう話もありますが、まぁpythonで。
commandsという便利そうな野があったので使ってみました。

サンプルで、適当な範囲のIPから返答があるかどうか調べて、OK/NGを返すだけのスクリプト
pingコマンドに回数指定しないと、延々返ってこない。

#!/usr/bin/env python
# coding:utf-8

import commands

ip_base = '10.0.0'
start_ip = 10
ip_range = 5 
                                                                                
for i in range(ip_range):
  i += start_ip
  ping_res = commands.getstatusoutput('ping -c 1 %s.%s'%(ip_base, i)) 
  if ping_res[0] == 0:
    print 'OK %s.%s'%(ip_base, i)
  else:
    print 'NG %s.%s'%(ip_base, i)
  

もっと簡単に便利そうなのありそうだけどなぁ