使用python做一个图形界面的WiFi密码查看器

时间:2024-04-11 18:27:58

    目标:利用python的tkinter模块做一个图形界面的WiFi密码查看器,可以查看本地计算机所连接过的WiFi以及密码。

   

1.获取本机已连接的所有WiFi的名称使用python做一个图形界面的WiFi密码查看器

os.popen():可以返回回显的内容,以文件描述符返回

使用fp.read()读取回显的内容并赋值给变量all,再构造正则表达式筛选出WiFi名称存在列表name中

 

2.获取WiFi的密码以及部分信息

使用python做一个图形界面的WiFi密码查看器

再次构造正则表达式找出WiFi的身份验证、关键内容(即WiFi密码)、安全秘钥、名称等信息,然后将这些信息添加到字符串st1中,StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符;一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。使用了try异常处理,当try处理发生异常时(例如没有找到WiFi信息或者WiFi密码为空),就跳回try并执行匹配该异常的except子句中

3.使用tkinter创建一个主图形界面

使用python做一个图形界面的WiFi密码查看器

Label控件:Label 控件用以显示文字和图片. Label 通常被用来展示信息, 而非与用户交互.

4.创建一个下拉菜单

使用python做一个图形界面的WiFi密码查看器

OptionMenu类是一个辅助类,它用来创建弹出菜单,并且有一恶搞按钮显示它。注意*name不能省略*号,*的作用是使用name列表中的每一个元素作为一个下拉的选项显示,下拉菜单下面添加一个按钮,并且绑定事件wo,当按下按钮时实行一次函数wo()。

5.更新文本框内容

使用python做一个图形界面的WiFi密码查看器

LabelFrame 组件是 Frame 组件的变体。默认情况下,LabelFrame 会在其子组件的周围绘制一个边框以及一个标题。gorp.grid_propagate(0) 作用是使labelframe框架大小不随子组件而改变

使用python做一个图形界面的WiFi密码查看器

    更新文本框信息,就是把之前的labelframe框架里面的所有组件都删除了,(gorp.grid_forget()就是删除gorp框架里面的所有组件),然后重新加载新的框架即可完成更新

 

把上面的函数都进行复合就可得到一个带图形界面的WiFi密码查看器,效果如下:

使用python做一个图形界面的WiFi密码查看器使用python做一个图形界面的WiFi密码查看器

 

    总结:有个人评价就是:明明一行命令就能解决的事情,偏偏要用几十行代码来实现。我承认这有些鸡肋,但学习,重要的就是在学的过程中所带来的收获,而不仅仅只是看结果,重在了解与掌握使用python的能力。

    作为一个菜鸡选手,文中难免会有一些小错误,还望大佬能够指正