方法一:使用base64方式编解码。
核心代码如下:
1.将图片文件编码为base64字符串:
import base64 #导入base64库 f = open(r'/home/1.ico','rb') #用二进制方式打开图片文件 str = base64.b64encode(f.read()) #读取文件内容,编码为base64字符串 f.close() #关闭文件 print str #输出base64编码结果
2.将base64字符串解码为图片:
#!usr/bin/env python #encoding=utf-8 from smtplib import SMTP from time import sleep SMTPSVR = 'smtp.163.com' origHdrs = ["From: lzj_xmXXXX@163.com", "To: 31266XXXX@qq.com", "Subject:title"] origBody = ["xxx", "yyy", "zzz"] origMsg = " ".join([" ".join(origHdrs), " ".join(origBody)]) sendSvr = SMTP(SMTPSVR) sendSvr.login(name,pw) errs = sendSvr.sendmail('lzj_xms@163.com', ('312664032@qq.com',), origMsg) sendSvr.quit()
方法二:使用函数im2py.py
下面这个是旧版wxpython的使用,wxpython_2.9.2_py27中的使用:
打开cmd,打开文件夹C:\Python27\Lib\site-packages\wx-2.9.2-msw\wx\tools,输入命令
python img2py.py -i (-n ***) 28.ico myIcon.py
option中-n, -i的注释:
-n Normally generic names (getBitmap, etc.) are used for the
image access functions. If you use this option you can
specify a name that should be used to customize the access
fucntions, (getNameBitmap, etc.),否则默认为下划线+ico的名字
本例中为_28
-i Also output a function to return the image as a wxIcon
输出文件为myIcon
本例中的使用方法为:
import myIcon ico = myIcon._28.getIcon() self.SetIcon(ico)
当然也可以在myIcon.py的文件末尾加
get_Icon = _28.getIcon
则使用方法为
import myIcon ico = myIcon.get_Icon() self.SetIcon(ico)