python中的os.system命令读取wifi名称不正确
这篇文章的标题不是100%。这是一个非常简单的问题 首先我跑:python中的os.system命令读取wifi名称不正确,python,string,os.system,Python,String,Os.system,这篇文章的标题不是100%。这是一个非常简单的问题 首先我跑: os.system("netsh interface show interface") 我发现我的wifi叫做“Wi-fi 2” 然后我想做两个简单的函数来打开和关闭它 import os def enable(): os.system("netsh interface set interface 'Wi-Fi 2' enabled") def disable(): os.system("netsh inter
os.system("netsh interface show interface")
我发现我的wifi叫做“Wi-fi 2”
然后我想做两个简单的函数来打开和关闭它
import os
def enable():
os.system("netsh interface set interface 'Wi-Fi 2' enabled")
def disable():
os.system("netsh interface set interface 'Wi-Fi 2' disabled")
还尝试了其他一些方法,比如
interface "+"Wi-Fi 2"+" disabled")
当我调用disable时,尽管它会给我以下错误:
2 is not an acceptable value for admin.
The parameter is incorrect.
它将2作为一个单独的参数读取(已通过尝试Wi-Fi 3进行确认,并表示3不是一个可接受的值)
不知怎的,我做这根弦不合适吗?不知道为什么会发生这种情况,我宁愿不重命名Wifi,因为这只是一个糟糕的解决方法,而不是理解问题并解决它
感谢Win cmd shell中的(尽管这不限于Win),空格(ASCII 0x20(32))是一个分隔符(或:其中之一),这意味着在遇到空格时解析字符序列时,前面的将被视为一个标记,而后面的将被视为另一个标记(依此类推)
相反的(如果愿意)是dblquote(“或ASCII 0x22(34)):两个这样的字符之间包含的内容将被视为一个标记,不管它是否包含空格
这适用于:
- 文件路径(这就是为什么
失败的原因,而dir c:\Program Files
起作用-应该使用后者)dir“c:\Program Files”
- 命令参数(这里也一样)
- 由于字符串也由dblquotes括起,因此通过BK斜杠(\或ASCII 0x5C(92))转义“”,
os.system(“启用了netsh接口集接口”Wi-Fi 2”)
- 使用单引号(”或ASCII 0x27(39))将字符串括起来:
os.system('netsh interface set interface“Wi-Fi 2”enabled')
os.system(“netsh接口集接口\“Wi-Fi 2\”启用”)
,或者(即使我不太喜欢这种形式):os.system(“netsh接口集接口”Wi-Fi 2“启用”)
。如果是这种情况,请修改所有位置。要将此作为答案,以便我可以接受吗?这让它成功了,非常感谢。