在 Windows 10 上使用 Python 关闭 WiFi?

Posted

技术标签:

【中文标题】在 Windows 10 上使用 Python 关闭 WiFi?【英文标题】:Turn WiFi off using Python on Windows 10? 【发布时间】:2017-10-30 00:01:36 【问题描述】:

我一直在寻找一种使用脚本打开和关闭 wifi 的方法。我想这可以通过进入飞行模式或其他方法来完成。当我在谷歌搜索答案时,虽然我找不到任何对 Windows 有用的东西,只适用于 android 甚至 macOS。

谁有两个功能,一个是关闭wifi,一个是重新打开它?或者从特定的连接/断开连接也可以。如果这是相关的,这是我的默认wifi。

【问题讨论】:

您是否尝试过对 PowerShell 进行系统调用? subprocess.check_output 和 some goodies here? 【参考方案1】:

Python 无法直接访问您的 Wifi 适配器,但 windows 可以。 因此您可以使用os 模块来运行命令提示符代码并控制您的wifi 适配器。

    获取接口名称

    然后你可以只使用名称来运行开/关命令

    # Get the interface name using this script.
    import os 
    os.system("netsh interface show interface")
    

然后在此脚本中将其替换为 Wifi 即可开始。

import os 
def enable():
    os.system("netsh interface set interface 'Wifi' enabled")

def disable():
    os.system("netsh interface set interface 'Wifi' disabled")      

【讨论】:

我的 wifi 是“Wi-Fi 2”,当我输入它时,它说 2 不是管理员可接受的值。不知何故,它以 wifi 2 中的 2 作为输入?不知道我做错了什么。 也许你没有把它放在正确的引号中,所以它认为它是 2 个不同的值。 如果这样不行,也许你可以尝试将接口名称更改为单个单词。 这样理解:“netsh interface set interface 'Wi-Fi 2' disabled”是不是引用不正确?很确定这是对的。 这不起作用。我得到“请求的操作需要提升(以管理员身份运行)。” -> 我该如何解决这个问题?【参考方案2】:

netsh interface set interface name = "Wi-fi" 启用

netsh interface set interface name = "Wi-fi" disabled

只需将 ' 替换为 "

您需要管理员权限才能使用此命令

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案3】:

您需要做的就是腾出空间,它对我有用。

例如:在上面的代码中使用interface name = "Wi-Fi2"

【讨论】:

以上是关于在 Windows 10 上使用 Python 关闭 WiFi?的主要内容,如果未能解决你的问题,请参考以下文章

python 第10关 取整数

Windows10如何一键关闭所有程序?

在Windows上使用 Python 安装+ win10启用长路径

在 Windows 10 上使用 Python 关闭 WiFi?

无法识别使用 Ubuntu bash 在 Windows 10 上安装的 Python 模块

使用 Windows 10 在 Python 3.5 上安装 dlib 时出错