如何从命令行获取当前连接的网络?

时间:2014-02-09 19:03:32

标签: python cmd

我正在用Python创建一个程序,它连接到主机,FTP我想要的文件,然后用netsh wlan connect连接到我以前的网络。所有这一切都有效。

然而,它只是在我连接到一个网络时能够工作的缺点。我希望在连接到FTP主机之前将其重新连接到我正在使用的任何网络。

有没有办法在Python或Windows命令行中获取我当前连接的网络名称?

感谢。

4 个答案:

答案 0 :(得分:0)

这对你有用吗?

joerg@dilbert:~$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import netifaces as ni
>>> ni.interfaces()
['lo', 'eth0', 'lxcbr0']

答案 1 :(得分:0)

对于仍在寻找混乱方式的任何人,这对我来说都是有用的。请注意,我认为这种方法假设SSID 1的信号最强,不一定是您要寻找的信号。

import subprocess
network_Information = str(subprocess.check_output(["netsh","wlan","show","network"]))
network_Information = network_Information.replace('\\r','')
network_Information = network_Information.replace("b' ",'')
network_Information = network_Information.replace(":",'\n')
network_Information = network_Information.replace("\\n",'\n')
network_Information = network_Information.splitlines()
WIFINetworkNameString = network_Information[6][1:]

答案 2 :(得分:0)

尝试一下:

spline_interpolation()

答案 3 :(得分:0)

import subprocess

current_network = subprocess.check_output(['netsh', 'wlan', 'show', 'interfaces']).decode('utf-8').split('\n')
ssid_line = [x for x in current_network if 'SSID' in x and 'BSSID' not in x]
if ssid_line:
    ssid_list = ssid_line[0].split(':')
    connected_ssid = ssid_list[1].strip()
    print(connected_ssid)