[英]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.