複数端末にpingする(Python3)
隣の人のPC上で動いてるVMに乗り込んで作業するはずだったんだけど
IP変わったらしく、繋がらない。
だいたい範囲わかってるから乱れ打ち。
ちょっと無理する
ソース
In [1]: import os, subprocess In [2]: [x + ":" + str(subprocess.call(["ping", "-c", "1", "-t", "1", x], stdout=open(os.devnull,"w"))) for x in ["192.168.111." + str(y) for y in range(50,55)]] Out[6]: ['192.168.111.50:0', '192.168.111.51:2', '192.168.111.52:2', '192.168.111.53:2', '192.168.111.54:2']
わけわからん。
普通に書いた
ソース
import os import subprocess # 192.168.111.50 〜 192.168.111.54のリストを作成 L = ["192.168.111." + str(x) for x in range(50, 55)] result = [] for ip in L: # pingを打って結果(ステータスコード)をipと共にリストに格納 # 標準出力を/dev/nullへ、pingの回数は1回、タイムアウト1秒 #引数の都合上、Linux系じゃないと動かない r = subprocess.call(["ping", "-c", "1", "-t", "1", ip], stdout=open(os.devnull, "w")) result.append("%s:%d" % (ip, r)) #表示 [print(x) for x in result]
結果
192.168.111.50:0 192.168.111.51:2 192.168.111.52:2 192.168.111.53:2 192.168.111.54:2
遅い。最悪ping数*1秒かかる。
fpingコマンド使えばわざわざこんなことしn・・・