因此,每当我发送数据包时,我一直在努力抑制终端输出。我只想验证响应(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!"
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
我只是使用 python 的subprocess.Popen类ping 到 google dns 服务器,除了我在代码中打印的返回码之外,它什么都不返回到终端
import subprocess
process = subprocess.Popen(['ping','-c' ,'1', '8.8.8.8'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
returncode = process.returncode
print(returncode)
输出
0
添加回答
举报
0/150
提交
取消