首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定计算机是否通过WiFi网络或以太网电缆连接到internet。

确定计算机是否通过WiFi网络或以太网电缆连接到internet。
EN

Stack Overflow用户
提问于 2013-12-24 19:59:29
回答 2查看 3.4K关注 0票数 1

我想知道如何让Python脚本确定计算机是如何连接到网络的。之所以如此,是因为如果连接速度太慢,脚本就会出错,所以如果用户是通过WiFi连接的,我想给出一个警告。

实际运行的Python可执行文件位于我公司的LAN上,因此连接速度很重要。此外,由于这个可执行文件不能在没有连接的情况下运行,所以我不关心检查用户是否联机。

我不知道Python是如何与这样的事情交互的(甚至可能的话),所以请告诉我是否有什么我可以澄清的。提前感谢

我在Windows764位上使用Python2.7.6 32位(因为pyEnchant不同)

EN

Stack Overflow用户

发布于 2022-07-21 22:03:27

使用WMI,您可以确定连接,而不需要本地机器IP。

使用NetConnectionID而不是AdapterType进行比较似乎是可行的。

在Windows 10上工作。

代码语言:javascript
复制
import wmi
w = wmi.WMI()
for nac in w.Win32_NetworkAdapterConfiguration():
    if nac.IPEnabled:
        idx = nac.InterfaceIndex
        break
else:
    print("oops, do something, no NIC has that address")
na = w.Win32_NetworkAdapter(InterfaceIndex=idx)
if not na:
    print("oops, unlikely race condition, NIC disabled right before we checked it")
if 'Wi' in na[0].NetConnectionID:
    print("do WiFi stuff")
elif 'Ethernet' in na[0].NetConnectionID:
    print("do Ethernet stuff")
else:
    print("who's using LocalTalk in 2013?")
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20766191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档