课堂期末大作业,需要用Python做一个小项目。我自己有一些小的想法以及网上也有许多好玩、有用的通过Python实现的小工具,于是打算做一个百宝箱软件,把这些东西集成进来。
因为是个人使用所以底层就用字典实现的,如果用户不存在以及输入的密码有误都会有不同的提示 |
---|
负责把系统中所有的功能显示出来,提供给用户使用,还有一个退出功能,负责退出系统,系统的每一个功能都是一个用单独的py文件写的,可以独立运行,在这个功能一开始前会加载所有的功能模块,也就是说在整个系统的使用过程中,用户每点击一个按钮,不会有新的对象产生,永远用的是同一个对象,其实用的是饿汉式的单例模式 |
---|
可以使用本地拍照或者本地文件上传进行人脸对比并且获得结果分数,人脸识别就是用的百度提供的库,代码完全参考了百度的文档,然后在客户端,又完全参考了网上python使用OpenCV打开电脑摄像头的示例代码 |
---|
可以通过录音或者使用本地音频文件识别,语音识别也是用的百度,代码完全参考了百度的文档,遇到了一个问题是需要把wav格式转换为pcm,看了百度提供的资料后有些不明白,又去网上找了资料看,还有有一点是必须使用多线程,因为如果不把录音单独放到一个线程中,整个程序就会阻塞,卡死 |
---|
本地文件上传,点击识别提取图片中的文字,图片提取文字还是用的百度,百度给了详细的代码示例 |
---|
翻译功能还是用的百度,百度提供了30几种语言互译,直接使用,在界面中使用了下拉框包含了这些语言,百度使用字母表示不同语言,代码里面使用了字典,把这些字母变成了中文显示在了下拉框中 |
---|
在程序内部浏览网页,浏览器这个功能直接在网上看到的代码拷贝下来封装一下就使用,他主要是用了qt的两个和网页显示有关的控件,调用了类提供出来的属性和方法 |
---|
查询天气也方便,就是向服务器发起请求,然后接收服务器响应的消息(项目很多功能就是这样的),返回的消息是json,然后就显示在控件上,这里偷懒了没有解析json |
---|
机器聊天也是这样的,看源码就知道了,然后他可以调用win10系统语音回答,用的是win32com这个库 |
---|
发送邮件这个可以支持给别人发送邮件,还是挺方便的,是老师上课讲过的例子,使用了smtplib这个库然后我加了个界面 |
---|
模仿了一个idle,可以运行简单Python代码,我想的有两种方式,一个是把我在输入框中的内容转换成一个py文件,然后使用命令运行,把结果重定向到一个文件中,输出框显示文件内容,还有一种就是使用exec函数,解析输入框里面的字符串,后面也要用重定向,然后结果显示在输出框中,我用的第二种方式;关于彩色字体,其实就是当文件内容发生改变,就改变文本的字体颜色 |
---|
爬虫我做的太简单,就是一个requests的简单使用 |
---|
把一个数据库中的一个表变成一个pojo会写许多代码,我想交给程序去做,只需写出包名类名和字段然后它可以自动生成, JavaBean代码生成器这个功能,界面其实只是修改配置文件,核心代码是用java写出来的,主要是用freemarker+解析json制作的,可以做到只写最主要代码,然后生成全部完整代码。(如果对这个感兴趣,请看我的具体博客,现在推出了更强大的代码生成器) |
---|
这个功能有点灰色哦,场景是:我想玩玩谷歌地球,我想快速clone GitHub的项目,我想用pip install但不使用国内镜像。。。想必你应该明白我的加速器功能了吧,郑重声明:请科学上网! |
---|
人机五子棋,有存档读档,悔棋,胜负判断,机器下棋,纯java写的,原理主要是字符串操作,灵感是老师上课讲字符串反转通过拼接的方式,这个灵感贯穿了我的整个核心代码,然后使用jpype这个库调用我的Java代码,没有写界面,就在命令行运行,想看思路的可以看我之前的博客,有关于五子棋算法实现的 |
---|
项目目录结构示意图 |
---|
扫描二维码加微信,一键三连加关注。。。。算了,太麻烦了,自己拿去吧!
我的项目中大量的使用了百度AI的东西,有些是有次数限制的,大家在使用的时候请自己去网上申请改成你自己的身份,随着时间的推移,很有可能百度AI的有些功能就使用不了了这很正常,主要看代码逻辑思路吧。另外,很多功能的实现都是站在巨人的肩膀上,离不开老师、室友、网友的帮助,感谢他们!