随笔 - 314  文章 - 1 评论 - 127 阅读 - 135万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

03 2011 档案
Python3.2邮件解码
摘要:Python3.2中字符串全是unicode,接收邮件retr返回的信息message是bytes列表。测试过程中发现Python3.2 接收邮件后的处理和Python 2.X差别很大,原来可以正确解码的邮件都要另行处理,包括mail.as_string()和message_from_string()和message_from_file()都有时会出问题。而新引入的message_from_bytes()则要好用得多。但考虑到国内邮件的复杂情况(哇,真的好复杂啊,主要是邮件的编码,规范的和不规范的),邮件解码经常出现乱码问题。chardet给出的结果也有问题,比如说邮件中有未编码处理的英文和中 阅读全文
posted @ 2011-03-18 15:58 garfieldtom 阅读(1096) 评论(0) 推荐(0) 编辑
Python编码问题
摘要:从Python2.7升级到Python 3.2,发现邮件接收也改变了.hdr,message,octet=popClient.retr(1)原来返回的message是字符串列表,现在返回的是bytes列表.如果想以字符串来处理的话,需要对bytes进行解码,可邮件的编码实在是太多了,测试发现:http://chardet.feedparser.org/上的chardet非常好用:import chardetcd=chardet.detect(astr)然后会返回一个字典:{'encoding': 'GB2312', 'confidence': 0 阅读全文
posted @ 2011-03-17 13:56 garfieldtom 阅读(368) 评论(1) 推荐(0) 编辑
Python 3.2 中adodbapi的问题
摘要:一直在使用Python 2.X,最近想测试一下最新的Python 3.2.下载了ActivePython 3.2,PyQt4,Eric5,安装配置完环境.因为原系统中使用adodbapi连接MSSQL 数据库,所以首先测试一下adodbapi.在ActivePython 3.2中,默认安装了adodbapi的2.4版本,我就直接测试了一下连接数据库.没想到简单地连接操作就报告错误,一看,是adodbapi.py中的错误,在其中有这样声明的异常处理:raise er,'No such key as "%s" in %s'%(repr(key),self.__r 阅读全文
posted @ 2011-03-17 09:28 garfieldtom 阅读(643) 评论(0) 推荐(0) 编辑
Python中将系统输出显示在PyQt中
摘要:开发一个系统,需要将系统的输出显示在PyQt中,可以直接截获sys.stdout,也可以使用信号和槽来实现。直接显示:"""Exampleusage:importsyssys.stdout=OutLog(edit,sys.stdout)sys.stderr=OutLog(edit,sys.stderr,QtGui.QColor(255,0,0))"""classOutLog:def__init__(self,edit,out=None,color=None):"""(edit,out=None,color 阅读全文
posted @ 2011-03-11 13:42 garfieldtom 阅读(2195) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示