heshenhan 2018-04-07
《吃鸡》游戏最近很火。笔者也不息在玩,不外高中的知识都还给教员了。10秒的答题时辰让人根柢来不及去百度搜索。于是我建造了这个剧本,对问题问题停止文字识别,主动翻开网页停止搜索。首先来看一下测试成效:
实现事理很是简单。安卓手机毗连电脑,经由过程adb调试实现敌手机答题页面的截屏,然后把持百度云AI停止文字识别,在前往成效中找到问题的文字,经由过程python库翻开阅读器停止阅读。
安卓手机毗连电脑,开启手机的调试形式。
电脑上必要有adb调试工具和python3安装
经由过程pip3 install baidu-aip安装百度的文字识别库
在百度ai上注册,并申请一个文字识别的应用,获得下面第二步必要的三个密码。
第一步:引入必要的库
上面有两个函数,我们一会再说。
第二步:实现上岸百度aip。这局部按照百度api文档写代码即可。
这局部代码百度文档上有,目的是连上百度ai。
第三步:截取屏幕
这局部是adb调试的语法。我们经由过程os.system()挪用
第四步:裁剪图片并发送图片到百度ai
这里用到了上面一起头的两个函数。在第三部获得问题图片后,我们对图片停止裁剪,裁剪出只需问题和选项的局部,如答应以大幅进步ai的反响速度。然后经由过程百度给出的函数get_file_content和client.basicGeneral获得数据。
第五步:获得问题上网搜索
这里面我为了应对,“下面的哪些不是。。。”如许的问题,给了两种搜索编制,一种是只在百度上搜索问题,另一种是连着谜底一起去百度搜索。
末了经由过程webbrowser翻开阅读器。
如今这段代码在windows上实行是没有问题的。但在mac上末了一步翻开阅读器中文会产生乱码的征象,我不息没有方法处理,是编码的问题呢仍是巨细端的问题呢,希望读者能指定一二。
别的,也可以使用一些其他的本地库来实现文字识别,比如赫赫闻名的tesseract-ocr,但必要停止练习。同时我看到网上有人用beautiful soup停止文字分析,也是很好的标的目的。
别的,这个工具只是一个辅助工具,有些题很灵。但如今有些题很绕,10秒的时辰又看题,又在百度上找谜底,根柢来不及,反而会失经由过程思虑得出精确谜底的时辰。
下面给大家带点福利分享Python面试题:
1.什么是Python?使用Python有什么好处?
Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。
它简洁、简单、方便、容易扩展,有许多自带的数据结构,而且它开源。
2.什么是PEP8?
PEP8是一个编程规范,内容是一些关于如何让你的程序更具可读性的建议。
3.Python是怎样管理内存的?
Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。
4.Python是如何被解释的?
Python是一种解释性语言,它的源代码可以直接运行。Python解释器会将源代码转换成中间语言,之后再翻译成机器码再执行。
5.有哪些工具可以帮助debug或做静态分析?
PyChecker是一个静态分析工具,它不仅能报告源代码中的错误,并且会报告错误类型和复杂度。Pylint是检验模块是否达到代码标准的另一个工具。
6.什么是Python装饰器?
Python装饰器是Python中的特有变动,可以使修改函数变得更容易。
7.字典推导式和列表推导式是什么?
它们是可以轻松创建字典和列表的语法结构。
8.Python都有哪些自带的数据结构?
Python自带的数据结构分为可变的和不可变的。可变的有:数组、集合、字典;不可变的有:字符串、元组、数。
好了,今天的知识就分享到这里,欢迎关注爱编程的南风,私信关键词:学习资料,获取更多学习资源,如果文章对你有有帮助,请收藏关注,在今后与你分享更多学习python的文章。同时欢迎在下面评论区留言如何学习python。