Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2022 15:46:34

gevorg-x
Зарегистрирован: 2022-04-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите завершить проргамму!

Привет всем… Написал программу, который делает мониторинг сети, если нет соединение, запускает другой скрипт для рестарта модема. Сам код

import os
import schedule
import time
import pyautogui

def host():
hostname = “10.0.0.21”
response = os.system(“ping ”+hostname+“ -n 1 ”)
if response == 0:
return (host)
else:
os.system(r'c: /watchdog/k.bat'), pyautogui.press('F10')
host()
schedule.every(2).minutes.do(host)
while True:
schedule.run_pending()
time.sleep(1)

Но есть одна проблема: если из 20 покетов хоть один раз пингуется, оператор else не работает. Хочу добавить условие, если потерия (LOST) состовляет 60% и больше, сработал else. Как реализовать это? Заранее спасибо!

Отредактировано gevorg-x (Апрель 4, 2022 15:47:31)

Прикреплённый файлы:
attachment ping.jpg (7,8 KБ)

Офлайн

#2 Апрель 5, 2022 02:15:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Помогите завершить проргамму!

gevorg-x
Хочу добавить условие, если потерия (LOST) состовляет 60% и больше, сработал else. Как реализовать это?
Реализуй это через subprocess.Popen().
https://docs.python.org/3/library/subprocess.html#subprocess.Popen

Можешь задействовать subprocess.run(), но по subprocess.Popen() ты больше готовых примеров найдёшь.



Офлайн

#3 Апрель 5, 2022 10:30:11

gevorg-x
Зарегистрирован: 2022-04-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите завершить проргамму!

py.user.next
Можешь задействовать subprocess.run(), но по subprocess.Popen() ты больше готовых примеров найдёшь.
в примерах не нашел как из статистики выбрать аргумент LOST

Отредактировано gevorg-x (Апрель 5, 2022 10:31:01)

Офлайн

#4 Апрель 5, 2022 11:16:38

gevorg-x
Зарегистрирован: 2022-04-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите завершить проргамму!

Как я понемаю, нужно для начало вывести аргумент как строку?

Офлайн

#5 Апрель 5, 2022 12:36:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Помогите завершить проргамму!

  
>>> import subprocess
>>> 
>>> with subprocess.Popen(['cat', 'x'], stderr=subprocess.PIPE) as proc:
...     text = proc.stderr.read().decode('utf-8')
...     print(text)
...     print(text.replace('file', 'object'))
... 
cat: x: No such file or directory
 
cat: x: No such object or directory
 
>>>



Отредактировано py.user.next (Апрель 5, 2022 12:37:04)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version