Python制作自己的软件安装包程序
我看现在 上给自己的Python程序制作安装包一般都是使用inno setup,于是我突然想到能不能自己编写安装包程序(想快速了解制作方法的直接跳到最后)
首先肯定是要把安装包程序和安装的内容放进同一个exe中,而要安装的内容毫无疑问,肯定要放到压缩包里,那把安装程序和压缩包捆绑到一起用这个命令就好了,运行起来也是会直接运行exe的(顺序不能反)
那问题就是如何从exe里提取出zip了,现在就出现了两种方法:
- 通过读取exe头信息来确定exe文件大小,从而切割文件
- 通过读取压缩包头信息来确定压缩包位置,从而切割文件(zip格式头信息为PK,7z为7z)
第一种方法我进行了尝试

那思路清晰了,只需要读取偏移量为2-3h和4-5h的数据在进行计算就可以了,代码也就是这个样子:
大家不用试了,失败的很成功
具体原因我没想出来,知道的大佬可以说一下
于是我就采用了第二种方法,不断识别字节信息来确定压缩包位置,代码如下(7z压缩包就把第四行改为)
这里我要解释一下,第四行不能写啊,因为你无法确定P位于偶数位置,而由于Python的机制,判断为假后这个and语句就一定为假,那么第二个判断就不会执行
大家还能看到我注释掉了一行代码,因为我发现这个代码执行速度很快,不需要跳过一段一定错误的数据(整个用时不足1秒)
制作过程如下
那接下来思路就明确了,代码奉上:
这里我没有做图形化,如果你想做就直接写就行了,Popen是用来调起你的软件的,不需要可以注释掉
写完封装成exe,然后用命令捆绑就行了
想添加自启动之类的用winreg操作注册表即可,详情自己百度
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览215423 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!