太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

网站建设3年前发布
37 0 0
2023030520434289423dc500ebf5b11ff8191b1b9d61a5c70908620,决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解决思路,让代码替我们做重复的工作,从而减轻工作量,减少出错。
,Python 开发的小工具实际上是将 Python 程序打包成 exe,分享即可用,即便电脑没有安装 Python 环境,也可以使用,用代码提高工作效率,尽量少加班。
,20230305204342830b16f71547da153d37209f3a243d95211245275,内容大纲
,将工作中重复性的操作,利用供应商名称,月份,入库金额三个字段来生成想要的透视表格式。
,20230305204343726c9cc531fde7b78d643438cbd3a560e9f711360,创建桌面窗口,这里使用 tkinter,它是 Python 自带的 GUI 库,安装后即可使用。
,使用 pyinsatller 将程序打包成 exe,好处是不需要将代码部署到服务器,直接将打包好的 exe 发给对方,就能直接使用,对于这种小而轻的功能非常友好。
,Excel 文件生成透视表和筛选数据,文件名:excel_to_pivot.py,20230305204343a43802828c392c4d2228186f1719ebe6bbef65890,设计桌面窗口功能,文件名:opration.py,20230305204344796da68595c54a3f93e936360339358583b716390,如果运行结果如上,说明代码没有问题了,可以进行下一步。,打开 DOS 窗口并切换到 两个 py 文件所在的目录,注意路径中不要有中文。
,2023030520461049d1e3412ad6d662c8a4031f420f0cd680c49f323,pyinstaller 指令的常见可选参数:
,202303052043455750b8000242f50a48846972372abe5d991221472,2023030520434502f276f81dc5253d772734564d37782ec7516f127,在当前的目录下,将会生成两个文件夹:build 和 dist。dist 里面就是所有可执行 exe 文件,发送快捷方式到桌面,点击 opration.exe 就能运行了,可以发它的快捷方式发送到桌面,双击就可以。,有的伙伴 Python 环境刚安装没多久,可能不存在这个文件过大的问题。像我的电脑里安装了 Python 很多的依赖包和 anaconda 等等,打包出来的文件居然 660M,打包时间长,执行时还卡,后来经过整改缩小到 31M,打包快,秒级执行。解决方案是在 Windows 系统下安装一个 Python 的虚拟环境,前提是已经在电脑上安装过 Python 才可以进行如下操作。
,2023030520461135e1abb20ed532238f556520e2a0d8fe8a7651422,找到 Python 所在路径,如果忘记了,可以在电脑左下角搜索【编辑系统环境变量】——【用户变量】——【PATH】中找到
,202303052043468401407800230118120686f0565f5e805ee85b826,20230305204347c147e90081033e5348c086e38884aff9a16233404,虚拟环境可以理解为是 Python 解释器的一个副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局 Python 解释器。虚拟环境非常有用,可以在系统的 Python 解释器中避免包的混乱和版本的冲突。
,重要是不同虚拟环境可以搭建不同的 Python 版本,创建时候选择,我们这里需要一个相对 "干净" 的 Python 环境,没有安装过多依赖包,避免 exe 打包文件过大,所以用到虚拟环境。
,进入虚拟环境,可以看到只有几个默认的 Python 库
,20230305204347656417c21fd249c5fc14864716ac61c8ba537f530,这时可以测试一下代码,是否缺少相关依赖,比如我这个缺少 Pandas,openpyxl,依次按照 pip install 包名安装即可,非常重要的点:pyinstaller 必须重新安装,文件才会缩小。
,20230305204348a8c0d7e41fc38b59ff7313b7cc6d9aabc7cea1469,上述操作完成后,打包就可以了,最后退出虚拟环境即可。
,202303052043492462117882f548df363878d20bb47a60e161e8324,退出虚拟环境
,20230305204612936c3b887aad67bc4538945ad3ab61c0d8762d251
© 版权声明

相关文章