瞎琢磨写了个小程序

懒惰让人进步

昨天晚上天印杯刚输掉比赛遗憾止步八强,寒假亲身上场的辩论活动应该到此为止了。

于是准备全身心地投入到课题组的研究里来,为了让自己能早点读完文献写完综述,向两位学长学姐学习争取这学期投个EI会议。我点开了年前就下好了的英文文献。

不消多说,我没道理能直接硬啃英文,所以自然也是求助于Google翻译,一边翻译一边看。

不过,这样的看文献方法从最开始就有一个问题我没能解决,那就是它总带有复制PDF文件里的字符时,多出来很多换行符。

就是这个样子,很烦人对不对

其实每次都手动删除换行也不是不行,就是多敲几下Delete键的事情,但是毕竟要多花些时间,而且我也懒来着。

基于这个原因,我开始思考,可不可以利用python来实现一下解放自己?毕竟人生苦短,我用python嘛。

构思

初步构想后,明确目标为:
1.去除英文文本的换行符
2.将英文文本翻译为中文
3.实现复用能互动的翻译
4.能打包一下让大伙瞧瞧

解决换行问题

动动小脑袋,第一步可以用replace语句来解决,如下:

1
replace('\n',' ')

代码意义为,将文本的换行符号替换为空格,这样的话还顺带解决了换行后直接替换为空字符而导致的首尾单词连一块的尴尬问题。

解决翻译问题

翻译当然是交给专业人士去做,百度搜索开放API接口的翻译源,发现有道和百度都行,但是比较瞩目的是,Google翻译居然打包成了个python第三方库,可以直接调动。

如此一来,我安心地选择了翻译准确率高,知名度高的谷歌翻译。

刚开始选择的是Googletrans,无奈这玩意儿坑死人了,一开始是因为默认总站点,进不去要翻墙,然后修改了站点为.cn的国内源后,又出现各种nonetype问题,按CSDN给的方法都试了一通后遗憾发现没有解决问题。

不过柳暗花明又一村,google_trans_new库,简直神仙来的,一安装就能用,压根不用配置。

直接在终端pip install google_translator就可以了,然后用它的google_translator()函数就行,不需要配置别的东西了,最基础的用法如下:

1
2
3
4
from google_trans_new import google_translator
translator=google_translator()
translations = translator.translate(你要翻译的文本, 'zh-cn')
print(translations)

复用可互动的翻译

其实到这一步了的话,实际工作中已经尝试了很多种问题解决方法,包括换行,翻译,重复操作啊,都已经完成了。刚开始我是采用的if else条件判断来进行重复操作的,但是这属于舒适区,挺没劲儿的。

所以为了快捷,好用,我选择了做个GUI可视化!第一次接触,用的是python内置的tkinter库。

因为输入的文本可以直接在GUI文本框中编辑,所以自然而然地就实现了复用可互动功能。

主要分为以下步骤1.设置主窗口 2.窗口分栏 3.功能函数嵌入 4.测试

具体操作不做赘述,直接百度搜索tkinter就行。

打包出来

经过了解,python文件打包的最简单的方法就是用pyinstaller来操作。

步骤巨少,如下:

pip install pyinstaller
在终端键入 cd 你要打包的py文件目录
在终端键入 pyinstaller -F -W 你要打包的py文件名

然后在这个目录里就产生了三个文件夹,其中dist文件夹里就有刚刚打包好的python文件,现在成了.exe格式。

这个.exe格式的文件就可以发给其他用户使用了,尽管ta电脑上没安装python以及其相关的任何软件。

听上去很方便,但是exe文件有点大,我打包的这个11mb,虽然运行过程丝滑顺畅,但是打开这个文件却需要花费4s时间。后续有机会学了新东西,会尝试改进一下它。

小结

最后,它长这个样子了。

如图所示,功能只有一个

懒惰使人进步,以上过程花了我包括摸鱼在内3小时左右,够看两到三篇文献了。

但是没想到,在课题组的群里共享给大家后,导师直接抛了个公众号文章,里面赫然有老早实现了这个功能的软件。

得,忙活半天是在造轮子了。不过毕竟是自己的辛苦产物,先用个几天试试,不好再换别人的。

如果需要这个有趣的小产品,可以戳我私发给你。