易截截图软件、单文件、免安装、纯绿色、仅160KB

python 获取E

E-mail主要由邮件头和邮件体两部分组成。
邮件头中的内容和我们寄信时写在信封上的内容大同小意,当然这里也包含了很多路过的“邮局”的信息了。
邮件体中的内容就是我们写的信或者包裹。
python自身包含了email模块处理可以快速的处理E-mail中的信息
import email
#打开一个文件
fp = open('email.eml', 'r')
#创建email实例
msg = email.message_from_file(fp)
#现在我们就可以很简单的取出我们想要的邮件头信息
subject = msg.get('subject')
from = msg.get('from')
to = msg.get('to')
现在我们已经得到了邮件的主题,发件人和邮件人的信息
可是我们怎么取得邮件中正文信息和附件信息呢?
这些信息我们就需要遍历邮件内容来获取了。
for part in msg.walk():
    if part.is_multipart():
            continue
    #获取内容类型
    content_type = part.get_content_type()
    #text/plain类型说明是文本,有时邮件格式不规范会写为text
    if ('text/plain' == content_type
        or 'text' == content_type):
        content = part.get_payload()
    #application/octet-stream说明是附件,这里假设邮件里只包含一个附件
    if ('application/octet-stream' == content_type):
        file = part.get_payload()
现在我们已经把邮件中的主要信息取出来了。
但是为什么取出来的信息都看不明白呢?
例如
To: "=?gb2312?B?uu/X0w==?=" <ape@ape.com>
这是因为邮件在传送过程中使用base64进行了编码操作
“=?gb2312?B?uu/X0w==?=”这段字符串是使用bae64进行编码后的gb2312字符集的字符串
现在我们看看怎么解析这些数据
str = '=?gb2312?B?uu/X0w==?='
list = email.header.decode_header(str)
#这时list内容为[[('\xba\xef\xd7\xd3', 'gb2312')]]
to = list[0][0].decode(list[0][1])
#这时to里的内容为u'\u7334\u5b50'即utf-8字符集中的’猴子’两字
有时解码时会遇到不能解析的字符,这时就要给decode函数增加一个参数了
to = list[0][0].decode(list[0][1], 'ign


相关文档:

Python中SQLite数据库使用初步

SQLITE是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比 ......

Python中socket和多线程的应用

这是我以前写的一个socket小应用,其中也顺便用到了一点点多线程的东西。
这个socket客户端是我为了方便公司的充值系统调试而写的一个小应用。由它跟充值系统进行socket通讯,自动完成充值的测试工作。
看代码吧:
import socket,thread
def Communicate(s):
phoneno = raw_input("Please input your PhoneNo.:(Pu ......

Python线程编程(一)线程对象

我们在做软件开发的时候很多要用到多线程技术。例如如果做一个下载软件象flashget就要用到、象在线视频工具realplayer也要用到因为要同时下载media stream还要播放。其实例子是很多的。
线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多相 ......

python类型转换,数值操作(转)


http://hi.baidu.com/guzhilei1986/blog/item/8969b4debe99e150ccbf1ae7.html
函数                       描述  
int(x [,base ])          ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号