因使用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),請留言刪除!!!
評論