繁体   English   中英

如何使用 python 检查 ping?

[英]how to check ping using python?

我试图让我的 Discord 机器人 ping 服务器并回复“{time} ms”但失败了。 我搜索了谷歌,但所有代码都只是回复“网络活动”或“网络错误”。

这是我的代码(在 Stack Overflow 上复制)(我使用 linux 作为服务器,所以我使用“-c 1”

import os
@commands.command()
async def ping(self, ctx, ip):
    host = ip
    response = os.system(“ping “ + “-c 1 ” + host)
    if response == 0:
        ping_status = “Network Active”
    else:
        ping_status = “Network Error”
    await ctx.send(ping_status)

您可以使用此代码获取 ping 返回的时间。

import re
import subprocess

output = subprocess.check_output(['ping', '-c', '5', 'google.com'])
output = output.decode('utf-8').splitlines()
times = []
for o in output:
    m = re.search(r'time=([\d]+\.?[\d]*)', o)
    if m:
        times.append(m.group(1))
print(times)

您应该保存 ping 的 output,然后使用正则表达式提取时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM