ipl = socket.gethostbyname(socket.gethostname())
seg1,seg2,seg3,seg4=ipl.split(".")
ip2 = seg1+"."+seg2+"."+seg3+"."
ip3 = seg1+"."+seg2+"."+seg3+"."
def ipar(ip2):
seg4=0
n=5
while n > seg4:
seg4=seg4+1
ip2 += str(seg4)
os.system("ping -n 1 "+ip2)
ip2 = ip3
我想过滤只打印成功ping尝试的代码的结果 类似于AWK,linux中的sed
我把代码改了一点,最后一个for循环在第一个变量上停止了,我怎么改的?还有别的方法可以更好地完成这项任务吗?你知道吗
import subprocess
import socket
import sys
ipl = socket.gethostbyname(socket.gethostname())
seg1, seg2, seg3, seg4 = ipl.split(".")
stip = seg1 + "." + seg2 + "." + seg3 + "."
i = 0
def ppout(cmd: str) -> str:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
while True:
out = p.stdout.read(1)
if out == '' and p.poll() != None:
break
if out != '':
sys.stdout.write(out.decode('utf-8'))
sys.stdout.flush()
for i in range(1, 3):
cmd = "ping -n 1 " + stip + str(i)
print(i)
ppout(cmd)
目前没有回答
相关问题 更多 >
编程相关推荐