self get-python 的 email 里 self.get() 函数的问题

问题描述

python 的 email 里 self.get() 函数的问题

python里的email.py中那个self.get()到底是怎么运作的。

因为用self.get('subject')来抓主题,然后发现有的邮件抓不到主题。
但是邮件用记事本打开又看得到‘Subject:’,用outlook打开也看得到。

然后就看python源代码,发现get()函数是和一个header的二元组的列表进行遍历比较。
但是更多就看不懂了。

求解一下这个get()的运作方式,它匹配的那个header列表到底是什么?
本来想打出来看看,结果是个私有函数,也看不到。
另外用get抓不到,但是用文件读取之后用startswith(),或者find(‘Subject:’)==0.
是可以抓到的。

解决方案

应该是只能处理部分格式的标题,所有有些获取不到。

解决方案二:

那就用find(‘Subject:’)==0。可能要找新的python库

时间: 2024-10-01 16:04:48

self get-python 的 email 里 self.get() 函数的问题的相关文章

python清除字符串里非数字字符的方法

  本文实例讲述了python清除字符串里非数字字符的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 import re s = "how19 a*re 254y**ou?" # Using regular expressions print re.sub("D", "", s) 希望本文所述对大家的Python程序设计有所帮助.

python清除字符串里非字母字符的方法

  本文实例讲述了python清除字符串里非字母字符的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 s = "hello world! how are you? 0" # Short version print filter(lambda c: c.isalpha(), s) # Faster version for long ASCII strings: id_tab = "".join(map(chr, xrange(256))

python获取一组数据里最大值max函数用法实例

  本文实例讲述了python获取一组数据里最大值max函数用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使用 max([1,2]) max((1,2)) # 还可以指定comparator function max('ah', 'bf', key=lambda x: x[1]) def comparator(x): return x[1] max('ah', 'bf

Python发送email的3种方法

  这篇文章主要介绍了Python发送email的3种方法,本文讲解了使用登录邮件服务器方法.调用sendmail命令.使用smtp服务来发送三种方法,需要的朋友可以参考下 python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现. 先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可 1.登录邮件服务 代

python将MongoDB里的ObjectId转换为时间戳的方法_python

本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法.分享给大家供大家参考.具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp_from_objectid(objectid): result = 0 try: result = time.mktime(objectid.generation_time.timetuple()) except: pass return r

pyt脚本在bash 和python交互式shell里结果不一样

问题描述 pyt脚本在bash 和python交互式shell里结果不一样 先上代码: import serial ser = serial.Serial("/dev/ttyAMA0",9600) list = 'fc00919707a7d2' hlist = list.decode("hex") ser.write(hlist) ser.read(ser.inWaiting()) 在python的交互式shell里,逐条语句敲进去,可以从端口读出数据来,但是在ba

Python发送Email方法实例_python

本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善.具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText class CCSendMail: de

Python回顾与整理9:函数和函数式编程

0.说明         无论在什么编程语言中,函数都不可或缺,充分利用函数的特性,可以大大减少我们程序中的代码量. 1.什么是函数         所谓函数,英文名为function,其实就是表示为实现一定功能的一段代码,显然,如果需要多次实现某一功能时,使用函数就是把重复代码放入其中,既节省空间,又有助于保持一致性(主要是修改代码时). (1)函数vs过程         两者都是可以被调用的实体,过程是简单.没有返回值.特殊的函数.在Python中,过程就是函数,因为解释器会隐匿地返回默认

Python字符串和文件操作常用函数分析_python

本文实例分析了Python字符串和文件操作常用函数.分享给大家供大家参考.具体如下: # -*- coding: UTF-8 -*- ''' Created on 2010-12-27 @author: sumory ''' import itertools def a_containsAnyOf_b(seq,aset): '''判断seq中是否含有aset里的一个或者多个项 seq可以是字符串或者列表 aset应该是字符串或者列表''' for item in itertools.ifilte