Найти - Пользователи
Полная версия: Помогите завершить проргамму!
Начало » Python для новичков » Помогите завершить проргамму!
1
gevorg-x
Привет всем… Написал программу, который делает мониторинг сети, если нет соединение, запускает другой скрипт для рестарта модема. Сам код

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. Как реализовать это? Заранее спасибо!
py.user.next
gevorg-x
Хочу добавить условие, если потерия (LOST) состовляет 60% и больше, сработал else. Как реализовать это?
Реализуй это через subprocess.Popen().
https://docs.python.org/3/library/subprocess.html#subprocess.Popen

Можешь задействовать subprocess.run(), но по subprocess.Popen() ты больше готовых примеров найдёшь.
gevorg-x
py.user.next
Можешь задействовать subprocess.run(), но по subprocess.Popen() ты больше готовых примеров найдёшь.
в примерах не нашел как из статистики выбрать аргумент LOST
gevorg-x
Как я понемаю, нужно для начало вывести аргумент как строку?
py.user.next
  
>>> 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
 
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB