base64:base64.decode() 和 base64.b64decode() 的区别!

这里有关于base64的详细介绍,非常不错:Base64 编码原理简介和python的base64模块的使用

但是有一点需要注意一下,base64.decode(input, output)的两个参数分别都是文件对象,如果其中一个是一个字符串,那么程序就会报错!所以,在例子里如:

Python:一个类,读取邮件文件,然后返回其指定的部分,例如Subject, Date, Body, attachementsname or attachement

如果需要把从邮件文件中读取的附件字符串存放到文件里,那么不能使用

base64.decode(i.get_payload(), f) #是错误的!

 

而是使用base64.b64decode(s)这个方法,解码一个字符串,然后用f.write()写入文件中。例如:

f=open(fname, "w")
f.write(base64.b64decode(i.get_payload()))
f.close()

 

posted @ 2012-09-04 20:11  CCJPP  阅读(1659)  评论(0)    收藏  举报