返回顶部
首页 > 资讯 > 后端开发 > Python >python获取PING结果
  • 178
分享到

python获取PING结果

pythonPING 2023-01-31 05:01:52 178人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

      项目需要,写下这段脚本       通过subprocess.Popen调用系统的ping.exe,获得ping结果文本,再通过正则表达式从结果文本中提取需要的参数。需要考虑中文和英文两种返回结果。       通过这个简单的

      项目需要,写下这段脚本

      通过subprocess.Popen调用系统的ping.exe,获得ping结果文本,再通过正则表达式从结果文本中提取需要的参数。需要考虑中文和英文两种返回结果。

      通过这个简单的程序,静下心来学习python的正则表达式,了解了re.match, re.search, re.findall之间的不同。以前总是懵懵懂懂一知半解地乱用,觉得自己还是太浮躁了。

     戒骄戒躁!!!

def getPING(domain):
    ''' 调用系统自带的ping.exe实现PING domain,返回值为:ip,丢包率,最短,最长,平均'''
    p = subprocess.Popen(["ping.exe", domain], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True)
    out = p.stdout.read().decode('gbk')
    regIP = r'\[\d+\.\d+\.\d+\.\d+\]'               ## Pinging www.a.shifen.com [115.239.211.112] with 32 bytes of data
    regLost = r'\(\d+%'                             ## Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)   数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    regMinimum = u'Minimum = \d+ms|最短 = \d+ms'     ## Minimum = 37ms, Maximum = 38ms, Average = 37ms   最短 = 37ms,最长 = 77ms,平均 = 48ms
    regMaximum = u'Maximum = \d+ms|最长 = \d+ms'
    regAverage = u'Average = \d+ms|平均 = \d+ms'
    ip = re.search(regIP, out)
    lost = re.search(regLost, out)
    minimum = re.search(regMinimum, out)
    maximum = re.search(regMaximum, out)
    average = re.search(regAverage, out)
    if ip:
        ip = ip.group()[1:-1]
    if lost:
        lost = lost.group()[1:]
    if minimum:
        minimum = filter(lambda x:x.isdigit(),minimum.group())
    if maximum:
        maximum = filter(lambda x:x.isdigit(),maximum.group())
    if average:
        average = filter(lambda x:x.isdigit(),average.group())
    return (ip,lost,minimum,maximum,average)


--结束END--

本文标题: python获取PING结果

本文链接: https://lsjlt.com/news/188228.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python获取PING结果
          项目需要,写下这段脚本       通过subprocess.Popen调用系统的ping.exe,获得ping结果文本,再通过正则表达式从结果文本中提取需要的参数。需要考虑中文和英文两种返回结果。       通过这个简单的...
    99+
    2023-01-31
    python PING
  • python怎么获取sql查询结果
    使用python获取sql查询结果的方法:1.新建python项目;2.导入MySQLdb模块;3.使用MySQLdb.connect()方法创建数据库连接;4.使用cursor.execute()方法执行sql查询语句;5.使用curso...
    99+
    2024-04-02
  • python获取命令行输出结果
    python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这里以获取本机MAC地址和IP地址为例! # coding: GB2312 import os, re # execute command, and re...
    99+
    2023-01-31
    命令 行输出 python
  • Python如何获取多线程返回结果
    目录Python获取多线程返回结果Python多线程实现Python获取多线程返回结果 在 Python 的多线程中,有时候我们会需要每一个线程中返回的结果。 然而,在经过我的多番尝...
    99+
    2024-04-02
  • Oracle怎么获取refcursor结果集
    要获取Oracle中的refcursor结果集,可以使用以下步骤:1. 定义一个PL/SQL块或存储过程来返回一个refcursor...
    99+
    2023-09-21
    oracle
  • shell怎么获取oracle查询结果
    在shell中获取Oracle查询结果可以使用以下方法: 使用sqlplus命令:sqlplus是Oracle提供的一个命令行工具...
    99+
    2024-04-09
    shell oracle
  • 如何在PHP中调用Python并获取运行结果
    目录前言思路代码效果补充tf.app.run前言 在毕设中需要用到PHP传递参数调用Python脚本并获取后者返回的结果,经过查阅资料该问题得以解决。 思路 PHP借助shell_e...
    99+
    2024-04-02
  • java如何获取编译后的结果
    要获取Java程序编译后的结果,你可以通过以下几种方式:1. 控制台输出:在你的Java程序中使用`System.out.print...
    99+
    2023-08-09
    java
  • curl获取结果乱码的解决方法
    做项目的时候,遇到curl获取的结果是乱码,添加header文字编码也没用。找了很多资料,终于解决了,以下是解决办法,记录一下。 发送请求时添加header $header = ['Accept-Encoding: gzip, deflat...
    99+
    2023-08-31
    html php
  • 怎么用shell获取sql执行的结果
    你可以使用shell脚本来执行SQL查询,并将结果保存到变量中。下面是一个示例: #!/bin/bash # 运行SQL查询 re...
    99+
    2023-10-24
    shell sql
  • shell怎么获取数据库查询结果
    在 shell 中获取数据库查询结果通常是通过命令行工具来完成的,具体操作取决于你使用的数据库管理系统。以下是一些常见的数据库管理系...
    99+
    2024-03-14
    shell 数据库
  • 怎么用Python标准库修改搜索引擎获取结果
    这篇文章主要讲解了“怎么用Python标准库修改搜索引擎获取结果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python标准库修改搜索引擎获取结果”吧!我输入的关键字作为地址参数传递...
    99+
    2023-06-17
  • Mysql 游标 获取order by limit 1 结果不是selec 出来的结果
    SELECT location_no, lot_batch_no, qty_onhand, qty_reserved, ...
    99+
    2015-04-11
    Mysql 游标 获取order by limit 1 结果不是selec 出来的结果
  • python怎么获得函数的结果
    在python中利用回调函数获取函数的结果,具体方法如下:parser = xml.sax.make_parser()# turn off namepsacesparser.setFeature(xml.sax.handler.featur...
    99+
    2024-04-02
  • python操作数据库获取结果之fetchone和fetchall的区别说明
    每次使用python获取查询结果的时候,都会纠结一段时间到底用fetchone和fetchall,用不好容易报错,关键在于没有搞清楚它们之间的区别和使用场景。 fetchone与fe...
    99+
    2024-04-02
  • 怎么在java中利用Future获取线程结果
    怎么在java中利用Future获取线程结果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据...
    99+
    2023-06-14
  • MySQL查询从多个select语句中获取结果?
    要从多个 select 语句中获取结果,请使用 UNION ALL。以下是语法 -select yourValue1 AS anyColumnName UNION ALL select yourValue2 AS yourC...
    99+
    2023-10-22
  • PHP数据库怎样获取查询结果的行数
    本篇内容介绍了“PHP数据库怎样获取查询结果的行数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在之前的学习中,我们已经了解怎样获取SQL的...
    99+
    2023-06-25
  • PHP数据库怎么使用PDO获取查询结果
    这篇文章主要介绍“PHP数据库怎么使用PDO获取查询结果”,在日常操作中,相信很多人在PHP数据库怎么使用PDO获取查询结果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP数据库怎么使用PDO获取查询结果...
    99+
    2023-06-25
  • 【Linux】获取Linux指令结果的指定列、指定行
    一、通过awk返回指定列 以ps -ef 的返回结果为例: 1、返回第一列ps -ef|awk '{print $1}'2、返回第一列和第x列ps -ef|awk -v n=2 '{print $1,$(n+1)}'3、返回带abc关键字的...
    99+
    2023-08-19
    linux 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作