python2.7 请帮忙写一个函数确定某个ip是否能ping通。我的这个不行 200
我的代码问题是,它另外弹出一个控制台,我想把这个黑框去掉,另一方面是不管是否ping通都返回true...
我的代码问题是,它另外弹出一个控制台,我想把这个黑框去掉,另一方面是不管是否ping通都返回true
展开
1个回答
展开全部
你这样直接使用os.system("ping")==0是不行的,执行ping命令后跟cmd执行一样,也会返回类似于ttl=245 time=36.798 ms这样的信息。所以你要做的是:
在os.system("ping -n 1 "+ip)的返回结果中查找是否存在"TTL="这样的字符,如果存在表示ping通了,不存在就表示超时
在os.system("ping -n 1 "+ip)的返回结果中查找是否存在"TTL="这样的字符,如果存在表示ping通了,不存在就表示超时
更多追问追答
追问
我对python不熟,麻烦直接上完整函数?我测试。
追答
if os.system("ping -n 1 "+ip).find("TTL=")>-1 :
print "can ping "+ip
else :
print "--- can not ping"+ip
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询