Python 有没有办法检测我的局域网是否已断开?
我希望我的程序在LAN连接与以太网端口物理断开时打印一条语句 一种方法是检查internet连接是否中断,但我不希望在服务器出现网络问题时触发print语句。仅当线路未实际连接到我的PC时Python 有没有办法检测我的局域网是否已断开?,python,networking,lan,Python,Networking,Lan,我希望我的程序在LAN连接与以太网端口物理断开时打印一条语句 一种方法是检查internet连接是否中断,但我不希望在服务器出现网络问题时触发print语句。仅当线路未实际连接到我的PC时 有没有办法在Python中实现这一点?我认为这个问题已经有了答案: 编辑:简单地说,如果您运行Linux,您可以使用/sys/class/net/DEVICE/*中的属性检查线路是否已连接。 您可以使用默认的python方法访问这些文件 对于Windows,在Python中没有办法(或者可能是一种非常丑陋的方
有没有办法在Python中实现这一点?我认为这个问题已经有了答案: 编辑:简单地说,如果您运行Linux,您可以使用/sys/class/net/DEVICE/*中的属性检查线路是否已连接。 您可以使用默认的python方法访问这些文件 对于Windows,在Python中没有办法(或者可能是一种非常丑陋的方法)检查这一点。您可以使用以下方法:
如果
接口
启动,则返回True。如果返回值发生变化,您可以定期检查接口是否打开,并打印 还有更多细节吗?为什么你不能用标准的方法来做呢?你试过什么方法吗?为什么它不适合你的需要?例如,在网络中断时,运行内核命令列出设备,并检查您正在使用的设备是否正在运行。您假设OP正在使用Linux。此外,答案应该不仅仅是一个链接。我认为否决票是相当困难的。我把答案编辑得更详细了。哦,那我很抱歉。OP想检查电缆是否连接,而不是iface是否启用。
def is_interface_up(interface):
addr = netifaces.ifaddresses(interface)
return netifaces.AF_INET in addr