Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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:获取WiFi接口的当前通道_Python_Wifi_Channel - Fatal编程技术网

Python:获取WiFi接口的当前通道

Python:获取WiFi接口的当前通道,python,wifi,channel,Python,Wifi,Channel,你好吗 我正在尝试找到一种简单的方法来获取wifi接口的通道。嗯,我找到了一种方法,但它非常混乱,一点也不简单。我在网上搜索过,但似乎没有人有同样的问题 我是这样做的: 我获取iwlist wlan0通道的输出,即: wlan0 13 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 0

你好吗

我正在尝试找到一种简单的方法来获取wifi接口的通道。嗯,我找到了一种方法,但它非常混乱,一点也不简单。我在网上搜索过,但似乎没有人有同样的问题

我是这样做的:

我获取
iwlist wlan0通道的输出,即:

wlan0     13 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Channel 12 : 2.467 GHz
          Channel 13 : 2.472 GHz
          Current Frequency:2.427 GHz (Channel 4)
您可以清楚地看到频道(当前为频道4)

我正在使用
子流程
-模块获取输出:

stdout = Popen('iwlist ' + iface + ' channel', shell=True, stdout=PIPE).stdout
output = stdout.read()
channel = output[-5:-3].replace(' ', '')
输出正是我想要的,但是获得它的方法太复杂了。我也不想使用任何shell命令

还有别的办法吗?提前谢谢你

您可以使用:

您可以使用:


这样更舒服!谢谢:)这样更舒服!谢谢:)
from pythonwifi.iwlibs import Wireless

wifi = Wireless('wlan0')
num_frequencies, channels = wifi.getChannelInfo()
current_freq = wifi.getFrequency()
# Only for 2.4 GHz
print channels.index(current_freq) + 1