Wifi 信号强度是指在无线通信在信号传输中的强度或功率。它通常用来表示设备与 Wifi 接入点之间的通信质量。
信号强度通常以负值的分贝毫瓦(dBm)来表示,数值越大表示信号越强。例如,-30 dBm 是一个非常强的信号,而 -90 dBm 则是一个相对较弱的信号。一般来说,大于 -60 dBm 的信号被认为是很好的,而小于 -80 dBm 的信号可能会有问题。
Windows 下可以使用 pywifi 模块对 Wifi 信号进行扫描,Wifi 信号频率大于 5000000 的是 5G 信号,2.4G 信号的频率一般在 2400000 以上。
代码运行效果如下,dBm 绝对值越小代表信号越好:

代码如下:
import pywifiimport wcwidthwifi_list = []def align_text(text, width):"""中文对齐"""text_width = wcwidth.wcswidth(text)if text_width < width:return text + ' ' * (width - text_width)else:return textdef wifi_type(freq):if freq > 5000000:return '5G'else:return '2.4G'def custom_sort(x):return abs(int(x[2]))def scan_wifi_networks():wifi = pywifi.PyWiFi()# print(wifi.interfaces())iface = wifi.interfaces()[0]iface.scan()scan_result = iface.scan_results()for network in scan_result:# print(dir(network))# print(network.freq)ssid = network.ssid.encode('latin1').decode('UTF-8')wifi_list.append([ssid, wifi_type(network.freq), network.signal])scan_wifi_networks()for s in sorted(wifi_list, key=custom_sort):print("SSID: {} , {} dBm".format(align_text(s[0] + ' ' + s[1], 25), s[2]))
使用前需要安装 pywifi 和 wcwidth 模块:
pip install pywifipip install wcwidth
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




