猿问

如何在 ping 上抑制终端输出,但仍然能够验证响应?

因此,每当我发送数据包时,我一直在努力抑制终端输出。我只想验证响应(0,2 或其他),这样我的终端就不会收到标准的“ping 统计信息、收到的数据包、数据包丢失”的垃圾邮件。我将如何在代码方面进行此操作?我不是在寻找终端/bash“方式”。


def ping():

    hosts = open('hosts.txt', 'r')

    for host_ip in hosts:

       res = subprocess.call(['ping', '-c', '1', host_ip])

       if res == 0:

          print "ping to", host_ip, "OK"

       elif res == 2:

          print "no response from", host_ip

       else:

          print "ping to", host_ip, "failed!"


红糖糍粑
浏览 94回答 1
1回答

牛魔王的故事

我只是使用 python 的subprocess.Popen类ping 到 google dns 服务器,除了我在代码中打印的返回码之外,它什么都不返回到终端import subprocessprocess = subprocess.Popen(['ping','-c' ,'1', '8.8.8.8'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)stdout, stderr = process.communicate()returncode = process.returncodeprint(returncode)输出0
随时随地看视频慕课网APP

相关分类

Python
我要回答