diff --git a/wifi_manager.py b/wifi_manager.py index 448bb82..931ba1d 100644 --- a/wifi_manager.py +++ b/wifi_manager.py @@ -73,6 +73,7 @@ def scan_wifi(): cmd = "nmcli dev wifi" result = subprocess.run(cmd, shell=True, capture_output=True, text=True) + ssid_list = [] wifi_list = [] output = result.stdout.strip() lines = output.split("\n")[1:] # Skip the header line @@ -89,14 +90,18 @@ def scan_wifi(): mac_address = columns[0] # 提取Wi-Fi名称 - wifi_names = [] + wifi_name = [] for i in range(1, len(columns)): if columns[i] == 'Infra': - wifi_name = ' '.join(columns[1:i]) - wifi_names.append(wifi_name) + _wifi_name = ' '.join(columns[1:i]) + wifi_name.append(wifi_name) columns = columns[i+1:] break - + ssid = wifi_name[0] + if ssid in ssid_list: + continue + ssid_list.append(ssid) + # 提取强度 strength = None for i in range(len(columns)): @@ -104,10 +109,10 @@ def scan_wifi(): strength = columns[i+1] break print("MAC地址:", mac_address) - print("Wi-Fi名称:", ' '.join(wifi_names)) + print("Wi-Fi名称:", ssid) print("强度:", strength) - wifi_list.append({'ssid': wifi_names, 'signal': strength, 'mac': mac_address}) + wifi_list.append({'ssid': wifi_name, 'signal': strength, 'mac': mac_address}) if len(wifi_list) == 15: break # save wifi_list to file