Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法检测我的局域网是否已断开?_Python_Networking_Lan - Fatal编程技术网

Python 有没有办法检测我的局域网是否已断开?

Python 有没有办法检测我的局域网是否已断开?,python,networking,lan,Python,Networking,Lan,我希望我的程序在LAN连接与以太网端口物理断开时打印一条语句 一种方法是检查internet连接是否中断,但我不希望在服务器出现网络问题时触发print语句。仅当线路未实际连接到我的PC时 有没有办法在Python中实现这一点?我认为这个问题已经有了答案: 编辑:简单地说,如果您运行Linux,您可以使用/sys/class/net/DEVICE/*中的属性检查线路是否已连接。 您可以使用默认的python方法访问这些文件 对于Windows,在Python中没有办法(或者可能是一种非常丑陋的方

我希望我的程序在LAN连接与以太网端口物理断开时打印一条语句

一种方法是检查internet连接是否中断,但我不希望在服务器出现网络问题时触发print语句。仅当线路未实际连接到我的PC时


有没有办法在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