python找钱程序_五、python小功能记录——打包程序

场景一  只打包单个文件

场景二  需要打包资源文件

场景三  资源文件中有逻辑程序,不能采用场景二方式

使用pyinstaller打包Python程序

场景一  只打包单个文件

安装工具 :pip3 install pyinstaller

在Python程序文件夹上(不点进去)按住shift并且右键,在弹出的选项中点击"在此处打开命令行窗口"或者“在此处打开PowerShell窗口”,CMD进来也可以

打包命令:pyinstaller -F -w (-i icofile) filename

filename表示你的Python程序文件名

-w 表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)

括号内的为可选参数,-i icofile表示给程序加上图标,图标必须为.ico格式

icofile表示图标的位置,直接放在程序文件夹里面,打包的时候直接写文件名

最简单例如:pyinstaller -F test.py

输入完成,按回车自动打包

如果是很多文件组成的系统,只要用pyinstaller -F -w 入口主程序.py 即可

打包的exe在dist里面

675509-20200601140057758-2056499861.png

675509-20200601140039033-1836474466.png

675509-20200601140126121-126790269.png

场景二  需要打包资源文件 官网

先执行了打包命令,目录下会出现{你的py文件名}.spec,截图中其它文件请忽略

675509-20200601134501265-1712357571.png

修改.spec,使其包含其它静态资源文件

就是改datas,数组格式,括号内第一个参数是文件名,第二个是文件夹名

675509-20200601134628090-1155715637.png

执行 pyinstaller WebOfficeInstall.spec 将把文件打包进exe里

场景三  资源文件中有逻辑程序,不能采用场景二方式

主要是解决逻辑程序中的路径问题

通过这个方法可以把 音频,视频,图片,文本,压缩包,配置文件,脚本 等各种文件打包进exe中。

运行时会自动解压到当前目录,如果程序需要调用这些文件时,就可以调用了。

1. 转换为Base64 数据

这里有两个网站, 都是可以将任意文件转换为 Base64 数据文本的。

进到下面这其中一个网站中, 分别将你的文件进行转换, 然后复制得到的数据。

https://www.giftofspeed.com/base64-encoder/

https://www.zhangxinxu.com/sp/base64.html

675509-20200601135542536-226664195.png

2.在程序中使用生成的数据

首先呢,创建一个.py自建模块,在里面创建变量,分别把从网站得到的Base64数据以字符串的形式粘贴到变量里面。

注意:

1. 变量的类型必须是 字符串。

2. 一个变量的base64数据 只能放在一行,不要有分行。

有时候转的文件较大,粘贴的时候显得很卡,也没办法

675509-20200601135446067-1048998943.png

例子:

下面是一个简单的运用,我创建了一个叫“get_file.py”的程序; 这个程序运行时,import了刚才创建的自建模块 DataFile,然后再把将文件写入到指定的位置。程序运行末尾结束了,就删除这些文件。

1 get_file.py2

3 importos4 importbase645 import DataFile #导入自建模块 "DataFile.py"

6

7

8 defwrite_file(data, route):9 get_file = base64.b64decode(data) #将base64数据进行解析

10

11 with open(route, 'wb') as f_Obj: #输出文件到指定位置

12 f_Obj.write(get_file)13

14 #-----调用函数,传入对应的 base64数据 和 输出文件的位置,生成依赖的资源文件-----#

15 write_file(DataFile.text, "./测试文本.txt")16 write_file(DataFile.zip_pack, "./测试压缩包.zip")17 write_file(DataFile.picture, "./测试图片.jpg")18

19

20 #-----程序运行区域-----#

21 print("Hello world !")22 input() #暂停

23

24

25 #-----运行结束后删除目录下的依赖文件-----#

26 os.remove("./测试文本.txt")27 os.remove("./测试压缩包.zip")28 os.remove("./测试图片.jpg")

3.打包

pyinstaller -F test.py

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值