os.system(ping) всегда возвращает 1

Есть небольшой код на проверку доступности ір адреса

import os

ip = "8.8.8.8"
status = os.system("ping {}".format(ip))
if status == 0:
   print("Ok")
else:
   print:("bad try")

Но она все время возвращает 1. В чем может быть проблема?


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

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

Решение проблемы

import os
import multiprocessing
import subprocess

DNULL = open(os.devnull, 'w')
ip_request = "192.168.0.1"
status = subprocess.call(["ping","-n","1",ip_request],stdout = DNULL)
if status == 0:
   print ("It`s up!")
else:
    print ("It`s down!")

Для Linux вместо "-n" использовать "-c"

→ Ссылка