python简单易懂的小程序,如何制作python小软件

这篇文章主要介绍了python简单易懂的小程序,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

我的主力编程语言现在是Python,平时也会使用Python写一些小脚本做文件处理(更简单一些的操作会直接用Shell命令)。基本不会接触到GUI界面的编写python编程代码复制。但是呢,对于我而言命令行是可行的方案,但是如果要把代码交给没有编程基础的人,并且没有相关的开发环境时。就需要GUI和打包技术了。最近就遇到一个情况需要开发一个类似图片直方图均衡的功能给和课题组合作的医生使用,工作的电脑是离线的,医生没有编程基础。

要求条件:

使用Python,快捷开发;

GUI;

独立的EXE可执行文件。

技术栈:

Numpy,用于对像素数组进行映射;

Pillow,图像库,底层调用numpy;

TkinterDND2使用Python内置的Tkinter的改进版,支持基础的code based UI和文件拖拽功能。使用conda安装。

我的开发环境是OS X,幸好之前一个老师分配的Windows虚拟机还能用。Python环境3.7.3。

第一版

77e508114550

image.png

支持选取图片文件夹,递归查找其中的jpg文件并处理。

文件夹选取功能

77e508114550

image.png

图片处理函数

77e508114550

image.png

简单的对图片像素映射到0-255的范围。能够使得标本图片更容易标注。

恢复函数

77e508114550

image.png

相当于图片处理函数的逆操作,在图片处理的时候保存了每一张图片的处理参数。

性能分析:

77e508114550

image.png

因为一个标本采集的图片有接近2000张,测试时预估大约需要8分钟才能完成一个标本的图片优化。而费

使用cProfile进行性能分析,61张图片要18秒多。平均一秒3张图片。主要的时间消耗是在转换成numpy矩阵、保存图片和图片处理函数。基本是不能够再优化的。那么就要从数据量方面考虑,是否每一张图片都需要优化并标注?其实不是的,每一个标本只需要选取最多10张进行标注,那么由医生选取并且拖放到指定界面会更快捷。

第二版

77e508114550

image.png

第二版添加了拖放功能并且把文件夹选取的功能去掉了。可以拖放多个文件,并且会筛选处理其中的jpg文件。

PS: 连标题都懒得改。。

pyinstaller打包

使用pip 安装pyinstaller打包,pyinstaller是系统依赖的,在什么系统打包,在什么系统使用。坑很多。

总结

使用pyinstaller遇到几个bug。six,warm

打包太大了。有500MB。代码量180行。

加了Frame之后文件夹输入框就不更新了。可能的原因是pack和grid在frame和widge之间混用。或者混用Tkinter和TkinterDnD2。因为文件夹选取的方案被替换掉了。所以这个bug不再存在。

conda环境安装耗时较久。

还是java香。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值