Скрыть вывод команды ping

Есть фрагмент кода:

import os
address = 'google.com'
response = os.system('ping -c 1 ' + address)

Проблема в том, что бесполезная в моём случае информация, выводимая командой ping, не должна выводиться в консоль.


Ответы (4 шт):

Автор решения: Dmitry

через subprocess

import subprocess
response = subprocess.check_output(
        ['ping', '-c', '1', address],
        stderr=subprocess.STDOUT, 
        universal_newlines=True  
    )

переменная response будет содержать инфу по ping

UPD

Документация

Буквально перевод

Выполняет команду с аргументами и возвращает вывод

→ Ссылка
Автор решения: vadim vaduxa

если требуется получать только код завершения ping, то можно перенаправить вывод в '> nul'

os.system(f'ping {address} > nul')
→ Ссылка
Автор решения: Namerek

pip install ping3

from ping3 import ping

if ping('avito.ru', timeout=1) is not None:
    print('ok')
else:
    print('fail')

if ping('yandex.ru', timeout=1) is not None:
    print('ok')
else:
    print('fail')

fail
ok

ping3

Есть нюанс. В Windows параметр количества запросов это -n.
посему, если следовать принципу универсальности (во загнул ?)
IMHO лучше всего использовать специальный инструмент. ?

→ Ссылка
Автор решения: R1senDev

Конкретно у меня (на Linux) помогло перенаправление потока вывода:

import os
address = 'google.com'
response = os.system('ping -c 1 ' + address + ' &> dev/null/')
→ Ссылка