因使用pyinstaller打包exe時(shí),不能打包圖片,解決方法:
采用base64動(dòng)態(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里面的圖片寫(xiě)到 image.py 中 pic2py(pics, 'image') print("轉(zhuǎn)碼完成...")
2.轉(zhuǎn)碼后會(huì)生成image.py文件,將該文件加載到需要使用圖片的程序中即可文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/10765.html
import os # 導(dǎo)入圖片轉(zhuǎn)碼后所在的py文件 from image import * # 創(chuàng)建臨時(shí)圖片 with open(r'D:/favicon.ico', 'wb') as w: # 創(chuàng)建臨時(shí)的文件 # 把這個(gè)one圖片解碼出來(lái),寫(xiě)入文件中去 w.write(base64.b64decode(favicon_ico)) # 運(yùn)行上面程序后,會(huì)在open的路徑處生成這張圖片,所以需要用到這張圖片時(shí)直接用圖片的絕對(duì)路徑即可 # 圖片用后即刪 os.remove('D:/favicon.ico')
文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/10765.html 文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.strong-digital.cn/10765.html
版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
評(píng)論