作者: luzheqi | 发表于: 2011-11-22 12:46:41
原始出处: Linux公社
方法一:使用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)