當前位置:首頁 » 編程語言 » python實現ping

python實現ping

發布時間: 2022-08-20 01:14:27

python 判斷ip是否能ping通

python編程下,檢查IP是否能ping通,並且分別導入兩個文件,代碼如下:

#!/usr/bin/python
#-*- coding:gb18030 -*-
'''
Created on 2015-7-7
#判斷文件中的ip是否能ping通,並且將通與不通的ip分別寫到兩個文件中
#文件中的ip一行一個
'''
import time,os
start_Time=int(time.time()) #記錄開始時間
def ping_Test():
ips=open('host.txt','r')
ip_True = open('ip_True.txt','w')
ip_False = open('ip_False.txt','w')
count_True,count_False=0,0
for ip in ips.readlines():
ip = ip.replace('\n','') #替換掉換行符
return1=os.system('ping -n 2 -w 1 %s'%ip) #每個ip ping2次,等待時間為1s
if return1:
print 'ping %s is fail'%ip
ip_False.write(ip) #把ping不通的寫到ip_False.txt中
count_False += 1
else:
print 'ping %s is ok'%ip
ip_True.write(ip) #把ping通的ip寫到ip_True.txt中
count_True += 1
ip_True.close()
ip_False.close()
ips.close()
end_Time = int(time.time()) #記錄結束時間
print "time(秒):",end_Time - start_Time,"s" #列印並計算用的時間
print "ping通數:",count_True," ping不通的ip數:",count_False
ping_Test()

❷ python3 判斷IP地址是否ping通

os.system(『comand』) 會執行括弧中的命令,如果命令成功執行,這條語句返回0,否則返回1。
要想得到標准輸出,可以使用os.popen(cmd)
import os
p=os.popen("ping 192.168.2.129")
x=p.read()
p.close()
if x.count('temeout'):
print("ping不通")
else:
print("ping通了")

❸ 使用Python tkinter模塊實現ip ping測試

tkinter 動態修改label或者button等控制項的文本...label或者button沒有setText或者set這樣的函數。

❹ python新人一枚,求教如何隨機只ping兩次而不循環完整個列表.謝謝

#coding='utf-8'
importos,sys
#引用這個
fromrandomimportsample
truelist=[]
falselist=[]
IP=['192.168.1.1','192.168.0.1','192.168.1.2']
#隨機取2個數組
foriinsample(IP,2):
ping=os.system('ping-c3%s'%i)
ifping:
falselist.append(i)
else:
truelist.append(i)
print('truelist:'+str(truelist))
print('falselist:'+str(falselist))

❺ python 怎樣去編寫一個ping wwww.baidu.com -n 8就是ping之後能帶參數的

其實在pip是有一個叫做的ping的項目的,何必折騰自己呢?安裝好了後,可以這樣簡單使用即可,

importping
ping.verbose_ping(dest_addr,timeout=2,count=4,psize=64)

另外如果要實現更復雜的東西,還有很多更底層的函數方便你使用。

❻ python 檢查IP是否能ping通,並且分別導入兩個文件

python編程下,檢查IP是否能ping通,並且分別導入兩個文件,代碼如下:

#!/usr/bin/python
#-*-coding:gb18030-*-
'''
Createdon2015-7-7
#判斷文件中的ip是否能ping通,並且將通與不通的ip分別寫到兩個文件中
#文件中的ip一行一個
'''
importtime,os
start_Time=int(time.time())#記錄開始時間
defping_Test():
ips=open('host.txt','r')
ip_True=open('ip_True.txt','w')
ip_False=open('ip_False.txt','w')
count_True,count_False=0,0
foripinips.readlines():
ip=ip.replace(' ','')#替換掉換行符
return1=os.system('ping-n2-w1%s'%ip)#每個ipping2次,等待時間為1s
ifreturn1:
print'ping%sisfail'%ip
ip_False.write(ip)#把ping不通的寫到ip_False.txt中
count_False+=1
else:
print'ping%sisok'%ip
ip_True.write(ip)#把ping通的ip寫到ip_True.txt中
count_True+=1
ip_True.close()
ip_False.close()
ips.close()
end_Time=int(time.time())#記錄結束時間
print"time(秒):",end_Time-start_Time,"s"#列印並計算用的時間
print"ping通數:",count_True,"ping不通的ip數:",count_False
ping_Test()

❼ 怎樣使用python來ping

importos
importre
importtime
importsys
importsubprocess

lifeline=re.compile(r"(d)received")
report=("Noresponse","PartialResponse","Alive")

printtime.ctime()

forhostinrange(1,10):
ip="192.168.1."+str(host)
pingaling=subprocess.Popen(["ping","-q","-c2","-r",ip],shell=False,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
print"Testing",ip,
while1:
pingaling.stdout.flush()
line=pingaling.stdout.readline()
ifnotline:break
igot=re.findall(lifeline,line)
ifigot:
printreport[int(igot[0])]

printtime.ctime()

❽ 怎麼樣在python多線程實現檢測伺服器

需要ping一個網段所有機器的在線情況,shell腳步運行時間太長,用python寫個多線程ping吧,代碼如下:

#!/usr/bin/python
#coding=utf-8
'''
Created on 2015-8-4
@author: Administrator
'''

import threading,subprocess
from time import ctime,sleep,time
import Queue

queue=Queue.Queue()

class ThreadUrl(threading.Thread):
def __init__(self,queue):
threading.Thread.__init__(self)
self.queue=queue

def run(self):
while True:
host=self.queue.get()
ret=subprocess.call('ping -c 1 -w 1 '+host,shell=True,stdout=open('/dev/null','w'))
if ret:
print "%s is down" % host
else:
print "%s is up" % host
self.queue.task_done()

def main():
for i in range(100):
t=ThreadUrl(queue)
t.setDaemon(True)
t.start()
for host in b:
queue.put(host)
queue.join()

a=[]
with open('ip.txt') as f:
for line in f.readlines():
a.append(line.split()[0])
#print a

b=['192.168.3.'+str(x) for x in range(1,254)] #ping 192.168.3 網段
start=time()
main()
print "Elasped Time:%s" % (time()-start)

#t2=threading.Thread(target=move,args=('fff',))
#threads.append(t2)

'''
for i in a:
print ctime()
ping(i)
sleep(1)

if __name__ == '__main__':
for t in range(len(a)):
#t.setDaemon(True)
threads[t].start()
#t.join()
print "All over %s" % ctime()
'''

熱點內容
電腦都連不上伺服器說ip不對 發布:2025-01-19 12:52:24 瀏覽:625
linux解壓到文件夾命令 發布:2025-01-19 12:43:20 瀏覽:425
父母訪問 發布:2025-01-19 12:33:05 瀏覽:794
加密文件如何編輯 發布:2025-01-19 12:31:18 瀏覽:219
androiddpi 發布:2025-01-19 12:21:15 瀏覽:655
伺服器鎖了怎麼解 發布:2025-01-19 12:06:58 瀏覽:301
DH演算法使用 發布:2025-01-19 11:57:30 瀏覽:932
Wcl上傳如何選擇伺服器 發布:2025-01-19 11:17:24 瀏覽:763
如何編程簡單給伺服器發一個指令 發布:2025-01-19 11:16:44 瀏覽:806
python控制台亂碼 發布:2025-01-19 10:55:38 瀏覽:364