Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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中的os.system命令读取wifi名称不正确_Python_String_Os.system - Fatal编程技术网

python中的os.system命令读取wifi名称不正确

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

这篇文章的标题不是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 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”
    起作用-应该使用后者)
  • 命令参数(这里也一样)
从操作系统的角度来看,这就是我们需要做的,我们仍然需要处理Python字符串(它包装了所有这些内容)

  • 由于字符串也由dblquotes括起,因此通过BK斜杠(\或ASCII 0x5C(92))转义”,
    os.system(“启用了netsh接口集接口”Wi-Fi 2”)
  • 使用单引号(或ASCII 0x27(39))将字符串括起来:
    os.system('netsh interface set interface“Wi-Fi 2”enabled')

最有可能的情况是(因为适配器名称包含空格),您需要对其进行DBL引用。在您的代码中,它应该是这样的:
os.system(“netsh接口集接口\“Wi-Fi 2\”启用”)
,或者(即使我不太喜欢这种形式):
os.system(“netsh接口集接口”Wi-Fi 2“启用”)
。如果是这种情况,请修改所有位置。要将此作为答案,以便我可以接受吗?这让它成功了,非常感谢。