在Python中,你可以使用多种方法来检查网络连通性。以下是几种常见的方法:
方法一:使用 `os.system` 执行 `ping` 命令
import osdef is_pingable(ip):response = os.system(f"ping -c 1 {ip}") 执行ping命令return response == 0 返回0表示连通,非0表示不连通ip = "www.google.com"if is_pingable(ip):print("网络连通")else:print("网络不连通")
方法二:使用 `urllib.request` 库
import urllib.requestdef test_internet_connection():url = "https://www.baidu.com"try:urllib.request.urlopen(url, timeout=5)print("网络连接正常")except urllib.error.URLError as ex:print("网络连接异常:", str(ex))test_internet_connection()
方法三:使用 `requests` 库
import requestsdef isConnected():try:html = requests.get("https://www.baidu.com", timeout=5)print("网络正常")return 1except:print("网络异常")return 0Flag = isConnected()print(Flag)
方法四:使用 `socket` 库
import socketdef check_internet_connection():try:创建一个socket对象socket.create_connection(("www.baidu.com", 80))return Trueexcept OSError:return Falseif check_internet_connection():print("网络连接正常")else:print("无法连接到网络")
方法五:使用 `subprocess` 库
import subprocessdef test_network_connection():try:执行ping命令output = subprocess.check_output("ping www.baidu.com -n 1", shell=True, stderr=subprocess.STDOUT)if "1 received" in output.decode('utf-8'):return Trueelse:return Falseexcept subprocess.CalledProcessError:return Falseif test_network_connection():print("网络连通")else:print("网络不连通")
以上方法都可以用来检测网络连通性。你可以选择最适合你需求的方法进行尝试。需要注意的是,这些方法可能需要相应的库支持,如 `requests` 库需要先通过 `pip install requests` 安装。

