IP-адрес должен быть указан при пинге сайта с Python - PullRequest
1 голос
/ 19 марта 2019

Поэтому я пытаюсь проверить связь с веб-сайтом, таким как Microsoft или Google, и распечатать результаты, но когда я запускаю скрипт, он просто говорит: «IP-адрес должен быть указан».Я попытался осмотреться, чтобы понять, почему это происходит, но, похоже, не могу сузить решение.

Вот мой код:

import subprocess

print('Ping www.microsoft.com')
print()
address = 'www.microsoft.com'
subprocess.call(['ping', '-c 3', address])

Я что-то не так делаю?Если это так, любая помощь или объяснение будет с благодарностью!

1 Ответ

1 голос
/ 19 марта 2019

Чтобы показать вывод вызова подпроцесса, вы можете использовать метод check_output: Подробности см. В этом ответе

import subprocess

def ping():
  print('Ping www.microsoft.com')
  print()
  address = 'www.microsoft.com'
  print(subprocess.check_output(['ping', '-c', '3', address]).decode())

ping()

Выход:

Ping www.microsoft.com

PING e13678.dspb.akamaiedge.net (23.53.160.151) 56(84) bytes of data.
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=1 ttl=55 time=83.6 ms
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=2 ttl=55 time=83.5 ms
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=3 ttl=55 time=83.7 ms

--- e13678.dspb.akamaiedge.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 83.567/83.648/83.732/0.067 ms
...