继续上一篇。 我前些日子在某公司实习时候,负责writeup等文档的处理,需要批量给收到的文档打水印,因此写了一个python脚本。 现在把该脚本从命令行执行,添加图形化界面。
该程序的功能有:
- 给png图片批量添加水印,可以选择两种不同的水印。
- 给gif图批量添加水印。
- 提取word文档中的所有图片,添加水印。
优化方案:
- 优化前:该程序通过文件后缀,png、gif、docx决定不同的执行方案。但是每一次都需要选择打哪一种水印(i、e)
- 优化后:现在用pythonGUI的单选按钮,默认水印i。 再用输入框,接受图片所在路径
构建图形界面
按照上一篇学到的知识,先画出图形化界面。
此时点击start,并没有任何作用,后面再加点击后的行为。
添加点击后的效果
运行前
运行后:
替换点击后的效果
上一步确认了点击是有效果的,然后定义几个函数,替换点击的效果。
问题:此时遇到了问题。因为我当初写代码时候很随意,现在代码乱七八糟的。该程序总共有三个py文件,其中一个是主文件,两个自定义的模块文件png、unzip。
错误示范: 该函数获取两个路径,把path路径下的压缩文件解压缩,然后保存到savepath路径下。
因为调用了zipfile模块,所以不走心地前面加了一个my (┬_┬),而且因为懒得打字,还丢掉了file…
1 |
|
正确示范:
def extractDocx(path,savepath):
- 名称应该有意义,它是做什么的,怎么用 废话没有意义。Variable一词永远不应当出现在变量名中。Table一词永远不应当出现在表名中。 话说我经常用var作为变量名~>_<~
- 使用可搜索的变量名
整理前(213行),居然还找出了两个定义了却没有使用到的函数╭(′▽‵)╭
梳理后(174行),将变量名整理了,并且只用调用judgment函数,即可运行程序。
这样方面了后面,再添加GUI的代码。
运行前
运行后
添加图形化界面程序初步完成了,写程序也是蛮累,吃饭~ 源代码