最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Python中調(diào)用Ping命令,批量IP的方法

 更新時(shí)間:2019年01月26日 10:12:17   作者:jeff9031  
今天小編就為大家分享一篇在Python中調(diào)用Ping命令,批量IP的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

如下所示:

#!/usr/bin/env python
#coding:UTF-8
'''''''
 Author: jefferchen@163.com
 可在命令行直接帶目的IP,也可將IP列表在文本文件中。
 pingip.py -d DestIP 
 DestIP示例: a)單個(gè): 192.168.11.1
        b)多個(gè): 192.168.11.1;172.16.8.1;176.13.18.2
        c)網(wǎng)段: 192.168.11.1-127
  文本文件:ip.txt
      目的IP多行存儲(chǔ)
'''''''
import argparse
import os
import platform
import time,datetime

def PingCmd():
  cmdStr = ''
  if platform.system()=='Linux':
    cmdStr = 'ping -c 1 %s > /dev/null'
  else:
    cmdStr = 'ping -n 1 %s > nul'
  return cmdStr

def IPV4SegList(aList):
  IPSeg = aList[0].split('.')
  IP4Begin = int(IPSeg[3])
  IP4End  = int(aList[1])
  segList = []
  if IP4End<=IP4Begin:
    IP4End += IP4Begin
  else:
    IP4End +=1
  for ip in range(IP4Begin,IP4End):
    aIP = IPSeg[0]+'.'+IPSeg[1]+'.'+IPSeg[2]+'.'+str(ip)
    segList += [aIP]
  return segList

def ParseSeg(aSeg):
  segList = []
  aList = aSeg.split('-')
  if len(aList)==2:
    segList = IPV4SegList(aList)
  else:
    segList = aList
  return segList

def AddLineIP(IPList,aLine):
  LineList = aLine.split(';')
  for aSeg in LineList:
    segList = ParseSeg(aSeg)
    IPList += segList
  return IPList

def GetIPListFromFile(filename):
  IPList = []
  f = open(filename)
  lines = f.readlines()
  for line in lines:
    line = line.strip()
    line = line.replace('\n','')
    IPList = AddLineIP(IPList,line)
  return IPList

def NotifyAdmin(failureIP):
  print('Network error at ',failureIP)

def ReportSummary(success,failure):
  print('----DONE! Total: %s nodes. %s ---'%(success+failure,timeFmt()))

def PingList(aList):
  sucess,failure = 0,0
  failureIP = []
  print('Trying...')
  for ip in aList:
    cmdStr = PingCmd()%ip.replace('\n','')
    res = os.system(cmdStr)
    if res < 1 :
      sucess += 1
    else:
      failure += 1
      failureIP += [ip]
    time.sleep(1)
  if failure :
     NotifyAdmin(failureIP)
  else:
    ReportSummary(sucess,failure);


def timeFmt():
  return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

def writeLog(content):
  print('[%s] %s' % (timeFmt(), content))
  file_object = open('ping.' + time.strftime('%Y-%m-%d', time.localtime(time.time())) + '.log', 'a')
  file_object.write('[%s] %s\n' % (timeFmt(), content));
  file_object.close()

if __name__ == '__main__':
  parse = argparse.ArgumentParser(description='Batch ping utility.')
  parse.add_argument('-f','--filename',default='ip.txt',help='IP file name(Default IP.txt)')
  parse.add_argument('-d','--destip',type=str,default='',help='destination IPs ');
  args = parse.parse_args()
  if args.destip!='':
    IPList = AddLineIP([],args.destip)
  else:
    if args.filename!='':
      IPFile = args.filename
    else:
      IPFile = 'ip.txt'
    IPList = GetIPListFromFile(IPFile)
  PingList(IPList)

以上這篇在Python中調(diào)用Ping命令,批量IP的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用Pillow將照片轉(zhuǎn)換為1寸報(bào)名照片的教程分享

    python使用Pillow將照片轉(zhuǎn)換為1寸報(bào)名照片的教程分享

    在現(xiàn)代科技時(shí)代,我們經(jīng)常需要調(diào)整和處理照片以適應(yīng)特定的需求和用途,本文將介紹如何使用wxPython和Pillow庫,通過一個(gè)簡單的圖形界面程序,將選擇的照片轉(zhuǎn)換為指定尺寸的JPG格式,并保存在桌面上,需要的朋友可以參考下
    2023-09-09
  • 解決python xx.py文件點(diǎn)擊完之后一閃而過的問題

    解決python xx.py文件點(diǎn)擊完之后一閃而過的問題

    今天小編就為大家分享一篇解決python xx.py文件點(diǎn)擊完之后一閃而過的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python中sets模塊的用法實(shí)例

    python中sets模塊的用法實(shí)例

    這篇文章主要介紹了python中sets模塊的用法實(shí)例,該模塊用來處理集合類型的數(shù)據(jù),在這個(gè)模塊中提供了兩個(gè)集合類:Set(可變集合)和ImmurableSet(不可變集合),本文實(shí)例主要分析了Set(可變集合)的用法,需要的朋友可以參考下
    2014-09-09
  • 動(dòng)態(tài)創(chuàng)建類實(shí)例代碼

    動(dòng)態(tài)創(chuàng)建類實(shí)例代碼

    Python中要?jiǎng)?chuàng)建一個(gè)類的實(shí)例,要首先導(dǎo)入該類或者該類所屬的模塊。
    2009-10-10
  • Numpy之reshape()使用詳解

    Numpy之reshape()使用詳解

    今天小編就為大家分享一篇Numpy之reshape()使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python給定一個(gè)句子倒序輸出單詞以及字母的方法

    Python給定一個(gè)句子倒序輸出單詞以及字母的方法

    今天小編就為大家分享一篇Python給定一個(gè)句子倒序輸出單詞以及字母的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python基礎(chǔ)教程之利用期物處理并發(fā)

    Python基礎(chǔ)教程之利用期物處理并發(fā)

    這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之利用期物處理并發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Python轉(zhuǎn)為C語言并編譯生成二進(jìn)制文件的教程詳解

    Python轉(zhuǎn)為C語言并編譯生成二進(jìn)制文件的教程詳解

    這篇文章主要為大家詳細(xì)介紹了將Python轉(zhuǎn)為C語言并編譯生成二進(jìn)制文件的相關(guān)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-12-12
  • python在linux中輸出帶顏色的文字的方法

    python在linux中輸出帶顏色的文字的方法

    這篇文章主要介紹了python在linux中輸出帶顏色的文字的方法,僅在Linux系統(tǒng)中有效果,一般輸出在控制臺(tái)中,本文用在日志環(huán)節(jié),方便測(cè)試,需要的朋友可以參考下
    2014-06-06
  • Python腳本實(shí)現(xiàn)自動(dòng)將數(shù)據(jù)庫備份到 Dropbox

    Python腳本實(shí)現(xiàn)自動(dòng)將數(shù)據(jù)庫備份到 Dropbox

    本文給大家分享的是作者使用python腳本實(shí)現(xiàn)自動(dòng)備份mysql數(shù)據(jù)庫到的dropbox網(wǎng)盤的代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2017-02-02

最新評(píng)論

大新县| 垦利县| 英吉沙县| 邮箱| 望都县| 比如县| 天镇县| 聊城市| 八宿县| 荣昌县| 林口县| 雷波县| 安塞县| 车致| 济阳县| 绵竹市| 石家庄市| 星子县| 周口市| 彭州市| 岑溪市| 双柏县| 舟曲县| 同心县| 深泽县| 江源县| 元氏县| 永济市| 梁平县| 涡阳县| 七台河市| 文安县| 达孜县| 天峨县| 桓台县| 峨眉山市| 社旗县| 柳河县| 桓仁| 罗江县| 凭祥市|