We can make use of the subprocess module to call a subprocess to perform a ping command.
Example 1: Ping an IP Address
>>> import subprocess
>>>
>>> def ping_ip(ip_address, count=5):
... try:
... output = subprocess.check_output(['ping', '-c', str(count), ip_address])
... return output.decode('utf-8')
... except subprocess.CalledProcessError as e:
... return e.output.decode('utf-8')
...
>>> server_ip_address = '8.8.8.8'
>>>
>>> ping_output = ping_ip(server_ip_address)
print(ping_output)
>>>
>>> print(ping_output)
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=7.364 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=9.279 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=9.535 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=8.679 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=5.167 ms
Example 2: Pinging using Domain
import subprocess
def ping_domain(domain_address, count=5):
try:
output = subprocess.check_output(['ping', '-c', str(count), domain_address])
return output.decode('utf-8')
except subprocess.CalledProcessError as e:
return e.output.decode('utf-8')
server_domain_address = 'code2care.org'
ping_output = ping_domain(server_domain_address)
print(ping_output)
Output:
PING code2care.org (172.67.164.66): 56 data bytes
64 bytes from 172.67.164.66: icmp_seq=0 ttl=58 time=11.716 ms
64 bytes from 172.67.164.66: icmp_seq=1 ttl=58 time=6.696 ms
64 bytes from 172.67.164.66: icmp_seq=2 ttl=58 time=5.827 ms
64 bytes from 172.67.164.66: icmp_seq=3 ttl=58 time=6.884 ms
64 bytes from 172.67.164.66: icmp_seq=4 ttl=58 time=11.144 ms

-
Facing issues? Have Questions? Post them here! I am happy to answer!
More Posts related to Python,
- Python: Convert Date to DateTime
- How to sort a List using Lambda in Python
- Python matplotlib segmentation fault: 11 macOS Big Sur
- What is Terminal Velocity and its Formula? How to calculate it programmatically?
- How to install Python 3.11 on Mac
- How to flatten a nested list in Python
- Python: Pandas Merge DataFrames on Index Example
- How to Run all Cells at Once Jupyter Notebook
- Python - Convert float to String
- How to add borders to tkinter label text
- How to Exit a Loop in Python Code
- [Python] Fix: ValueError: All arrays must be of the same length
- Sorting an array using Bubble Sort in Python Programming
- How to Unzip a file using Python
- Python: Merge DataFrames Pandas Outer Join Example
- Change label (text) color in tkinter
- Convert Float to String in Python
- Fix: fatal error: No such file or directory compilation terminated
- Python: Access index/counter of a for loop iteration
- Import Other Python Files Examples
- How to install Anaconda on Mac (M1/M2 Mac)
- Python Regular Expression to Find All Matches in List
- How to Read a binary File with Python
- How to disable warnings while Python file execution
- Know current Python Version
More Posts:
- Android : How to make TextView Scrollable - Android
- Find Duplicate Files using Mac Terminal Command - MacOS
- SharePoint Server 2016 IT Preview Deprecated Removed features - SharePoint
- How to check for Updates on Windows 11 - Windows-11
- Know Bash shell version command - Bash
- Insert Auto Increment Value using PreparedStatement in Java JDBC - Java
- Grep Alternative for Windows CMD or PowerShell: findstr - Windows
- Java 8+ get Day of the Week Examples with LocalDateTime, DateTime, ZonalDateTime and Instant classes - Java