
正文
python函数pop Python函数调用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
python电子邮件系列(三)之POP接收邮件
由上篇文章我们已经得知邮件从发送到接收的过程:
发件人-MUA-MTA-若干MTA-MDA-MUA-收件人
本节接收邮件主要就是编写一个 MUA 客户端,从 MDA 将邮件取回本地。
收取邮件最常用的是 POP协议 ,目前版本是第三版,也称 POP3 。python内置了 poplib 模块,支持POP3协议。
回想上一节 SMTP ,我们对要发送的邮件内容进行了各种编码,包括添加MIME header,编码之后再进行发送。
因此,我们通过POP3协议接收的也不是原内容,而是经过一系列编码等处理的文本。
所以,要想把POP3收取的文本变为可阅读的邮件对象,就需要利用 email 模块对原始邮件进行解析。
所以,邮件收取的流程就是:
由上一篇 文章 最后总结部分可知。邮件由字符到发送到网络经历了如下的格式转化:
纯文本:
str-bytes-base64-str-bytes
二进制文件:
binary code-base64-str-bytes
我们解析邮件也是按这个思路,逆序解析出内容。
这里的 decode('utf-8') 先把字节流转化为字符串,再将字符串转化为 message 结构的对象。这步与发送邮件的 as_string 函数相反。
先从上一节结构化的 msg 中取出信件头,打印出来。
如果是 multipart 结构, get_payload 函数会返回一个包含不同part的list,然后对每一part递归调用 print_info ,打印子信件头和子信件内容。
不是 multipart 时,之后再依据 Content-Type 作不同处理:
如果是 text :
利用 get_payload(decode = Ture) 取出子信件的内容, decode 为True,则按照 Content-Transfer-Type 将 base64 或 QP 解码为 bytes 。
再 guess_charset 猜出编码方式,之后将其解码为字符显示。
如果不是 Text 对象,则为附件:
打印出附件的 Content-Type 。
相关问答
Q1: pop函数用法python
pop函数python用法如下:
pop函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。[index=-1]:可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为index=-1,删除最后一个列表值。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。
Q2: 列表中pop方法与remove方法的区别?
remove()函数用于移除列表中某个值python函数pop的第一个匹配项python函数pop,pop()函数用于移除列表中的一个元素(默认最后一个元素)python函数pop,并且返回该元素的值。
Python是一种广泛使用的解释型、高级和通用的编程语言。Python由荷兰数学和计算机科学研究学会的GuidovanRossum创造,第一版发布于1991年,它是ABC语言的后继者,也可以视之为一种使用传统中缀表达式的LISP方言。
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库,提供了适用于各个主要系统平台的源码或机器码。
Q3: python pop函数
def pop(a):
if a and isinstance(a, list):
c = a[-1]
del a[-1]
return c
else:
return ""
if __name__ == "__main__":
a = [1,2,3,4,5]
print a
pop(a)
print a
Q4: python中pop函数有什么用
方法pop()从列表中删除一个元素(默认为列表的最后一个元素),并返回这一个元素,也就是说,利用pop()将元素从列表中删除后,你能接着使用它的值。删除列表中任意位置的元素时,只需在()中指定要删除元素的索引即可。使用pop()后,被弹出的元素就不在列表中了。
Q5: python 怎么用pop从左开始取值
a = [1, 2, 3, 4]
b = a.pop(1) # 得到pop函数python函数pop的返回值:b=1
a.pop(1) # 这样也是可以python函数pop的,我们可以选择忽略pop函数的返回值
del(a[1]) # 这时a里只剩下一个元素
而这样则是非法的:
1
2
a = [1, 2, 3]
b = del(a[1]) # 因为del函数不能有返回值
所以,如果忽略掉可否有返回值这一点,这两个用法是等效的。
关于python函数pop和Python函数调用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






