打包exe带资源图片
1、图片编译
import base64
def pictopy(picture_names, py_name):
"""
将图像文件转换为py文件
:param picture_name:
:return:
"""
write_data = []
for picture_name in picture_names:
filename = picture_name.replace('.', '_')
open_pic = open("%s" % picture_name, 'rb')
b64str = base64.b64encode(open_pic.read())
open_pic.close()
# 注意这边b64str一定要加上.decode()
write_data.append('%s = "%s"\n' % (filename, b64str.decode()))
f = open('%s.py' % py_name, 'w+')
for data in write_data:
f.write(data)
f.close()
if __name__ == '__main__':
pics = ["2.png"]
pictopy(pics, 'memory_pic') # 将pics里面的图片写到 memory_pic.py 中
print("ok")
2、打包代码中解译
img_data = base64.b64decode(mypng)
# 注意:如果是"data:image/jpg:base64,",那你保存的就要以png格式,如果是"data:image/png:base64,"那你保存的时候就以jpg格式。
with open('tmp.jpeg', 'wb') as f:
f.write(img_data)
pic = tk.PhotoImage(file="tmp.jpeg")#这里使用了
bnr = tk.Label(frame3, image=pic)
bnr.pack(side="top")
# 开始窗口的事件循环
win.mainloop()
os.remove("tmp.jpeg")
3、到打包代码文件夹下打包
Pyinstaller -F -w -i chengzi.ico py_word.py

浙公网安备 33010602011771号