日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python批量ping脚本_Python多线程批量Ping主机IP的脚本

發布時間:2025/3/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python批量ping脚本_Python多线程批量Ping主机IP的脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 編寫多線程 Ping 主機IP的腳本

1. 先編寫一個 Ping 主機IP的腳本

ping_ip.pyimport subprocess

import time

# 記錄開始執行的時間

start_time = time.time()

# 定義用來 ping 的254 個 ip

ip_list = ['10.3.1.'+str(i) for i in range(1,255)]

for ip in ip_list:

res = subprocess.call('ping -n 2 -w 5 %s' % ip,stdout=subprocess.PIPE) # linux 系統將 '-n' 替換成 '-c'

print(ip,True if res == 0 else False)

print('執行所用時間:%s' % (time.time() - start_time))

2. 改造成多線程的腳本

ping_threading.pyimport threading

import subprocess

import time

from queue import Queue

# 定義工作線程

WORD_THREAD = 50

# 將需要 ping 的 ip 加入隊列

IP_QUEUE = Queue()

for i in range(1,255):

IP_QUEUE.put('10.3.1.'+str(i))

# 定義一個執行 ping 的函數

def ping_ip():

while not IP_QUEUE.empty():

ip = IP_QUEUE.get()

res = subprocess.call('ping -n 2 -w 5 %s' % ip,stdout=subprocess.PIPE) # linux 系統將 '-n' 替換成 '-c'

# 打印運行結果

print(ip,True if res == 0 else False)

if __name__ == '__main__':

threads = []

start_time = time.time()

for i in range(WORD_THREAD):

thread = threading.Thread(target=ping_ip)

thread.start()

threads.append(thread)

for thread in threads:

thread.join()

print('程序運行耗時:%s' % (time.time() - start_time))

3.運行效果對比

單線程的運行結果

50個線程的運行結果

總結

以上是生活随笔為你收集整理的python批量ping脚本_Python多线程批量Ping主机IP的脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。