2016-10-16 10 views
1

Я пытаюсь создать небольшой скрипт, который предоставляет whois и внешний ip и ping сайт, чтобы найти его статую. мой код работает отлично, за исключением части ping. Это пинг, но не для ограничения 3, о которых я просил. Я пытаюсь запустить на сервере ubuntu любые предложения?ping через linux и получить вывод в python

import os 

os.system("clear") # clear the screen 

inp = input("Enter your choice from the menu: \n1) To find your external IP address\n2) To check domain name whois information\n3) To check if the website or ip address is up\n") 

if (inp == "1"): 
print("Your external ip address is: ") # me trying to be smart XD 
ip = os.system("dig +short myip.opendns.com @resolver1.opendns.com") 
#print("Your external ip address is: %d" % ip) 

elif (inp == "2"): 

domain = input("Enter the domain you want to whois it: \n") 

info = os.system("whois %s" % domain) 
print(info) 

elif (inp == "3"): 
target = input("Enter the url or ip address you want to check:\n") 

for x in range(3): 
    response = os.system("ping %s" % target) 

if (response == 1): # how can I decide based on response result ? 
    print("%s is up" % target) 
else: 
    print("%s is down" % target) 
+2

вы пытались выполнить команду пинг на команды Ubuntu линия? –

+0

Читайте о минимальном образце кода, используемом для StackOverflow Qs по адресу http://stackoverflow.com/help/mcve. То есть, нам не нужен весь другой код, просто пинг-материал. И учитывая приведенный ниже ответ, научитесь использовать документацию для Linux/unix, т. Е. 'Man ping'. Удачи. – shellter

ответ

1

Попробуйте добавить опцию подсчета -c к вашей команде:

target = "stackoverflow.com" 
response = os.system("ping %s -c 3" % target) 

if response is not 0: 
    print("failed") 
else: 
    print("success") 

Вы можете сделать прочь с петлей также ...

+0

Это сработало спасибо. –

+0

Добро пожаловать, и, пожалуйста, отметьте этот ответ как «правильный». –