/
ilya.petrash
/
SimplePyScripts
Обзор
Документация
Войти
/
ilya.petrash
/
SimplePyScripts
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
subprocess_example/ping.py
37 строк
1 KB
gil9red
Refactoring. Using black code style
27 июн 2023, 14:06
27 июн 2023, 14:06
e496bfb
Код
Авторство
О чём код?
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = "ipetrash" import re from subprocess import Popen, PIPE, STDOUT ping_res = Popen("ping ya.ru", stdout=PIPE, stderr=STDOUT) text = "" for line in ping_res.stdout.readlines(): text += line.decode("cp866") print(text) # Обмен пакетами с ya.ru [87.250.250.242] с 32 байтами данных: # Ответ от 87.250.250.242: число байт=32 время=26мс TTL=54 # Ответ от 87.250.250.242: число байт=32 время=26мс TTL=54 # Ответ от 87.250.250.242: число байт=32 время=26мс TTL=54 # Ответ от 87.250.250.242: число байт=32 время=26мс TTL=54 # # Статистика Ping для 87.250.250.242: # Пакетов: отправлено = 4, получено = 4, потеряно = 0 # (0% потерь) # Приблизительное время приема-передачи в мс: # Минимальное = 26мсек, Максимальное = 26 мсек, Среднее = 26 мсек items = re.findall(r"TTL=(\d+)", text) print(items) # ['54', '54', '54', '54'] m = re.search(r"Пакетов: отправлено = (\d+), получено = (\d+), потеряно = (\d+)", text) if m: print(m.groups()) # ('4', '4', '0')