在Python中,你可以使用subprocess
模块来执行ping命令
import subprocess def ping(host, timeout=2): try: # 在Windows系统中,使用'-n'参数,而在Linux和macOS系统中,使用'-c'参数 command = ['ping', '-c', '1', host] if platform.system().lower() != 'windows' else ['ping', '-n', '1', host] # 使用subprocess.run()执行ping命令,并捕获输出结果 result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, timeout=timeout) # 检查返回码是否为0(表示成功) if result.returncode == 0: print(f"{host} is reachable.") else: print(f"{host} is not reachable.") except subprocess.TimeoutExpired: print(f"{host} did not respond within the timeout period.") except Exception as e: print(f"An error occurred: {e}") # 用法示例: ping("example.com")
请注意,这个示例仅适用于Unix-like系统(Linux、macOS)。如果你正在使用Windows系统,你需要将command
数组中的['ping', '-c', '1', host]
更改为['ping', '-n', '1', host]
。