python打包圖片到EXE方法

admin Python評論671字數(shù) 749閱讀模式

因使用pyinstaller打包exe時,不能打包圖片,解決方法:
采用base64動態(tài)生成圖片

import base64
def pic2py(picture_names, py_name):
    write_data = []
    for picture_name in picture_names:
        filename = picture_name.replace('.', '_')
        with open("%s" % picture_name, 'rb') as r:
            b64str = base64.b64encode(r.read())
        # 注意這邊 b64str 一定要加上.decode()
        write_data.append('%s = "%s"\n' % (filename, b64str.decode()))

    with open(f'{py_name}.py', 'w+') as w:
        for data in write_data:
            w.write(data)
# 需要轉(zhuǎn)碼的圖片:
pics = ["favicon.ico"]
# 將pics里面的圖片寫到 image.py 中
pic2py(pics, 'image')  
print("轉(zhuǎn)碼完成...")

2.轉(zhuǎn)碼后會生成image.py文件,將該文件加載到需要使用圖片的程序中即可

import os
# 導(dǎo)入圖片轉(zhuǎn)碼后所在的py文件
from image import *
# 創(chuàng)建臨時圖片
with open(r'D:/favicon.ico', 'wb') as w:  # 創(chuàng)建臨時的文件
    # 把這個one圖片解碼出來,寫入文件中去
    w.write(base64.b64decode(favicon_ico))
# 運行上面程序后,會在open的路徑處生成這張圖片,所以需要用到這張圖片時直接用圖片的絕對路徑即可
# 圖片用后即刪
os.remove('D:/favicon.ico')

 

版權(quán)聲明:文章圖片資源來源于網(wǎng)絡(luò),如有侵權(quán),請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年7月18日 21:22:32
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://yudch.cn/10765.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: