我找不到任何关于 python 和网络的易于学习的好文档。在这种情况下,我只是想制作一个简单的脚本,我可以 ping 一些远程机器。
for ping in range(1,10):
ip="127.0.0."+str(ping)
os.system("ping -c 3 %s" % ip)
这样的简单脚本可以很好地 ping 机器,但我想让脚本返回“事件”“无响应”,这让我觉得我也必须查看时间模块,我想想 time.sleep(5)
之后,会有一个 break 语句。这让我觉得 for 里面应该有一个 while 循环。我不是 100% 肯定,我可能完全走错了方向:/如果有人可以帮助或指出一些很棒的文档的方向。
最佳答案
试试 subprocess.call
。它保存了所使用程序的返回值。
根据我的 ping 手册,成功返回 0,发送 ping 但未收到回复时返回 2,任何其他值表示错误。
# typo error in import
import subprocess
for ping in range(1,10):
address = "127.0.0." + str(ping)
res = subprocess.call(['ping', '-c', '3', address])
if res == 0:
print "ping to", address, "OK"
elif res == 2:
print "no response from", address
else:
print "ping to", address, "failed!"
关于python - Python中的多个ping脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101239/