Python的英语搭配助手应用开发研究
基于Python自带的GUI工具包Tkinter来实现窗口视窗设计。选用Python语言的理由在于其语法简单,跨平台、内嵌大量模块,支持众多第三方包,大大降低了编程的难度,同时Python语言最为接近人类语言,近年来受到越来越多的人员,尤其是非计算机专业但有编程需求的人士,特别是文科研究者的青睐。
该应用的目的是让学习者在一个应用(不需要频繁切换应用程序)里完成一键查询单词搭配,进而建立不打扰学习者写作的环境,因此该应用包括两个区域:文字编辑区和搭配查询结果显示区,如图1所示。
具体用户操作路径为用户在文字编辑区输入写作内容,当需要查找某单词的搭配时,用户只需在输入完该单词后,按下触发键(本应用定义为shift键),该应用就会去在线词汇搭配网站,获取该单词的相关HTML信息,然后通过正则表达式截取只与搭配相关的信息,并进行页面呈现调整,最后在该应用的查询结果显示区呈现。例如,在图1中,用户在文本区进行写作练习,想要知道comment的搭配,只需在输入comment之后,按下键盘shift键,之后右侧的查询结果框就会显示来自在线搭配网站上关于comment各种搭配信息。
代码实现路径:
1)获取网页信息
使用Python内置库Urllib相关模块,从目标网站(https://www.freecollocation.com)获取检索词的网页。如果没有找到检索词的搭配,网页显示“Cannotfind检索词inthecollocationdictionary”,则返回1,再做后续处理。如果找到检索词,则保存该网页信息。
2)选取相关信息
通过分析网页特征,可以看出和搭配相关的信息,都储存在多个
标签里面。搭配词的词性放在标签里,搭配词放在标签里,例句放在标签里。先用BeautifulSoup对该网页进行整理,然后使用标签提取相关内容,并且存到字符串中,以便下一步呈现。
3)Tkinter窗口试图设计
为了方便用户写作和查看搭配词互不干扰或在写作时不用切换屏幕查看搭配词,窗口设计为两个滚动文本框(ScrolledText),左侧的为编辑区(EditPad),右侧为搭配结果显示区(Collocates)。考虑到用户看到两个文本框,不知在哪个框里输入,除了给出2个标签提示不同的区域外,还需把搭配结果显示区属性设置为不可编辑,避免用户误操作。下方设计保存(Save)和退出(Quit)两个按钮,功能分别为保存用户输入的数据和退出该应用。
4)一键绑定
以往文字编辑应用中,如果想要查找某个单词的相关信息,需要选中该单词,然后单击右键,选择相关的选项,过程较为烦琐。一键绑定是该应用的创新之处,是指当用户在编辑区输入文本的时候,如果想检索某单词的同义词时,只需要在输入该单词之后,再按下shift键,即可执行相关检索功能。这样一来,省去了大量的操作时间,让用户可以更快速地获得检索结果,获得更为及时的搭配词反馈。
实现的基本原理是把用户所有的输入信息存储为一个字符串,然后再将该字符串切分为若干个单词,再取最后一个单词,作为检索词,去在线词汇搭配网站获取该单词的网页相关信息,然后经过一系列的网页处理,最后在该应用的检索结果显示区呈现。重点是通过ScrolledText的bind方法,将shift键和上面陈述的实现基本原理进行绑定,这样才可以实现用户只需按下shift键,该应用自动执行上述相关代码。
以上内容为大家介绍了Python的英语搭配助手应用开发研究,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>pythonfor循环是什么
pythonfor循环是什么在做遍历的时候,对于一些数据的反复循环执行,我们会用到for循环的语句。可以说这是新手入门必学的语句之一,在很多基础循...详情>>
2023-11-13 07:46:36pythoncontextmanager()的转换
python中contextmanager()的转换1、说明当发出请求时,requests库会在将请求实际发送到目标服务器之前准备该请求。请求准备包括像验证头信息和...详情>>
2023-11-13 06:34:35python使用items()遍历键值对
python使用items()遍历键值对字典可以用来存储各种方式的信息,所以有很多方式可以通过字典的所有键值对、键或值。说明1、即使通过字典,键值对...详情>>
2023-11-13 04:24:15python实例方法中self的作用
python实例方法中self的作用说明1、无论是创建类的构造方法还是实例方法,最少要包含一个参数self。2、通过实例的self参数与对象进行绑定,程序...详情>>
2023-11-13 03:46:48