Я пытаюсь пропинговать хост, используя os.system('ping x.x.x.x -c 1')
, и я пытаюсь сделать оператор if, если пинг не работает, например, если хост отключает запросы icmp или хост не найден. Структура кода, который я ищу, следующая:
if pingcommand == not working:
print("ICMP Not Working")
else:
print("Working")
(P.S. Я ТОЛЬКО прошу использовать os.system(), а не подпроцесс) Операционная система: Kali Linux (последняя) Версия Python: 3.9
Взгляните на методы подпроцесса .run или .Popen. Соберите результат в переменную, а затем сравните его.
Вызов os.system
возвращает код выхода, который сообщает вам, правильно ли завершено приложение. Код выхода 0 означает правильное завершение. Если произойдет ошибка, вы получите другой код выхода, обычно 1.
exit_code = os.system('ping 1.1.1.1 -c 1')
if exit_code == 0:
print('Working')
else:
print('Something went wrong')
os.system
возвращает код выхода, а не вывод команды, так что проверяйте!= 0