os.system python 中的命令读取不正确的 wifi 名称
os.system command in python reading improper for wifi name
不是 100% 的标题post。这是一个非常简单的问题
首先我运行:
os.system("netsh interface show interface")
发现我的 wifi 被调用了 "Wi-fi 2"
然后我想做 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,因为那只是一个糟糕的解决方法,而不是了解问题并解决它。
谢谢
在Wincmd中shell(虽然这不限于Win),SPACE (ASCII 0x20(32)) 是一个separator (or: one of them),意思是当解析一个字符序列时遇到SPACE,前面的会被当做一个令牌,而其后的内容将被视为另一个令牌(依此类推)。
reverse(如果你愿意)是 dblquote(" 或 ASCII 0x22(34)): 包含在两个这样的字符之间的内容将被视为一个标记,无论是否它包含 SPACEs.
这适用于:
- 文件路径(这就是为什么
dir c:\Program Files
失败,而 dir "c:\Program Files"
有效 - 应该使用后者)
- 命令参数(此处相同)
从OS的角度来看,这是需要做的,我们还需要处理Python 字符串(包装了所有这些)。可以按照此处说明的 2 种方式完成:[Python]: String literals:
- 通过 bkslash 转义 "(\ 或 ASCII 0x5C(92)),因为字符串也包含在 dblquotes 中:
os.system("netsh interface set interface \"Wi-Fi 2\" enabled")
- 使用 单引号(' 或 ASCII 0x27(39)) 将字符串括起来:
os.system('netsh interface set interface "Wi-Fi 2" enabled')
不是 100% 的标题post。这是一个非常简单的问题
首先我运行:
os.system("netsh interface show interface")
发现我的 wifi 被调用了 "Wi-fi 2"
然后我想做 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,因为那只是一个糟糕的解决方法,而不是了解问题并解决它。
谢谢
在Wincmd中shell(虽然这不限于Win),SPACE (ASCII 0x20(32)) 是一个separator (or: one of them),意思是当解析一个字符序列时遇到SPACE,前面的会被当做一个令牌,而其后的内容将被视为另一个令牌(依此类推)。
reverse(如果你愿意)是 dblquote(" 或 ASCII 0x22(34)): 包含在两个这样的字符之间的内容将被视为一个标记,无论是否它包含 SPACEs.
这适用于:
- 文件路径(这就是为什么
dir c:\Program Files
失败,而dir "c:\Program Files"
有效 - 应该使用后者) - 命令参数(此处相同)
从OS的角度来看,这是需要做的,我们还需要处理Python 字符串(包装了所有这些)。可以按照此处说明的 2 种方式完成:[Python]: String literals:
- 通过 bkslash 转义 "(\ 或 ASCII 0x5C(92)),因为字符串也包含在 dblquotes 中:
os.system("netsh interface set interface \"Wi-Fi 2\" enabled")
- 使用 单引号(' 或 ASCII 0x27(39)) 将字符串括起来:
os.system('netsh interface set interface "Wi-Fi 2" enabled')