python如何ping

原创
admin 1天前 阅读数 2 #Python

Python网络状态检测

Python中,我们可以使用内置的os模块来执行系统命令,从而实现对网络状态的检测,以下是一个简单的示例:

import os
def ping(host):
    response = os.system('ping -c 1 ' + host)
    if response == 0:
        print(host, 'is up')
    else:
        print(host, 'is down')
测试
ping('www.baidu.com')

代码会向指定的主机发送一个ping请求,如果主机响应,则打印"host is up",否则打印"host is down"。

这只是最基础的用法,为了更详细地了解网络状态,我们可以使用subprocess模块来执行更复杂的命令,如ping -c 100 host,它会向主机发送100个ping请求,并返回更多的信息。

import subprocess
import platform
def ping(host):
    if platform.system() == 'Windows':
        cmd = 'ping -n 1 ' + host
    else:
        cmd = 'ping -c 1 ' + host
    response = subprocess.getoutput(cmd)
    if 'All packets received' in response:
        print(host, 'is up')
    else:
        print(host, 'is down')
        print(response)
测试
ping('www.baidu.com')

代码会向指定的主机发送100个ping请求,并根据返回的信息判断主机的状态,如果是Windows系统,我们使用ping -n 1命令;如果是Linux或Mac系统,我们使用ping -c 1命令。

上一篇:python如何sleep 下一篇:python 如何打包
热门