在Python中,你可以使用subprocess
模块来执行ping命令并捕获异常
import subprocess
def ping(host):
try:
# 在Windows系统中使用以下命令
# 在Linux和macOS系统中使用以下命令
command = ["ping", "-c", "1", host]
subprocess.run(command, check=True)
print(f"{host} is reachable.")
except subprocess.CalledProcessError as e:
print(f"{host} is not reachable. Error: {e}")
if __name__ == "__main__":
host = input("Enter the host to ping: ")
ping(host)
在这个示例中,我们定义了一个名为ping
的函数,它接受一个主机名作为参数。我们使用subprocess.run()
函数来执行ping命令,并通过设置check=True
参数来捕获任何非零退出代码的异常。如果ping成功,我们将输出主机名是可达的。如果ping失败,我们将捕获subprocess.CalledProcessError
异常并输出相应的错误信息。