python实现ping
时间: 2023-11-12 13:07:19 浏览: 47
可以使用Python中的subprocess模块来实现ping命令。具体代码如下:
```python
import subprocess
hostname = "www.baidu.com"
response = subprocess.getoutput(f"ping -c 1 {hostname}")
print(response)
```
输出结果类似于:
```
PING www.a.shifen.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=57 time=16.3 ms
--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.382/16.382/16.382/0.000 ms
```
相关问题
用Python实现ping代码
可以使用Python的subprocess模块来调用ping命令,实现简单的ping代码。以下是示例代码:
```python
import subprocess
def ping(host):
"""
使用ping命令检测主机是否可达
:param host: 主机地址
:return: True-可达,False-不可达
"""
# 在Windows下使用-n参数,在Linux下使用-c参数
param = '-n' if subprocess.call('ping -c 1', shell=True) == 2 else '-c'
command = ['ping', param, '1', host]
return subprocess.call(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) == 0
# 调用ping函数,检测localhost是否可达
print(ping('localhost'))
```
python实现ping IP命令
可以使用 Python 的 subprocess 模块来执行 ping 命令,并且通过解析返回结果来获得 IP 的可达性情况。下面是一个简单的 Python 代码示例:
```
import subprocess
ip_address = '127.0.0.1'
process = subprocess.Popen(['ping', '-c', '1', ip_address], stdout=subprocess.PIPE)
output, error = process.communicate()
if '1 received' in output.decode('utf-8'):
print(ip_address, 'is reachable.')
else:
print(ip_address, 'is unreachable.')
```
在上面的示例中,我们使用 Popen 函数执行 ping 命令,并将返回的结果存储在 output 变量中。然后,我们检查输出结果中是否包含 '1 received',以确定 IP 是否可达。
希望能解决您的问题,如果您还有其他问题,欢迎继续向我提问。