非常教程

Python参考手册

网络数据 | Internet Data

email.utils: Miscellaneous utilities

email.utils模块中提供了几个有用的实用程序:

email.utils.quote(str)

str中的反斜杠替换为两个反斜杠的新字符串,并将双引号替换为反斜杠双引号。

email.utils.unquote(str)

返回一个不带引号str的新字符串。如果str结束并以双引号开头,则会被剥离。同样,如果str结束并以尖括号开始,它们将被剥离。

email.utils.parseaddr(address)

解析地址 - 应该是某个包含地址的字段(例如“ 收件人”或“ 抄送”)的值,并将其解析为其真实姓名电子邮件地址部分。返回该信息的元组,除非解析失败,在这种情况下('', '')返回2元组。

email.utils.formataddr(pair)

与此相反parseaddr(),这需要表单的2元组(realname, email_address)并返回适合于ToCc标题的字符串值。如果pair的第一个元素为false,则第二个元素将不加修改地返回。

email.utils.getaddresses(fieldvalues)

此方法返回由返回的表单的2元组列表parseaddr()fieldvalues是可能返回的一系列头字段值Message.get_all。下面是一个简单的例子,它可以获取消息的所有收件人:

from email.utils import getaddresses

tos = msg.get_all('to', [])
ccs = msg.get_all('cc', [])
resent_tos = msg.get_all('resent-to', [])
resent_ccs = msg.get_all('resent-cc', [])
all_recipients = getaddresses(tos + ccs + resent_tos + resent_ccs)

email.utils.parsedate(date)

尝试根据RFC 2822中的规则解析日期。但是,一些邮件程序不遵循指定的格式,因此parsedate()在这种情况下尝试正确猜测。date是一个包含RFC 2822日期的字符串,例如"Mon, 20 Nov 1995 19:12:08 -0500"。如果成功解析日期,则parsedate()返回可直接传递给的9元组time.mktime(); 否则None将被退回。请注意,结果元组的索引6,7和8不可用。

email.utils.parsedate_tz(date)

执行与之相同的功能parsedate(),但返回一个None或一个10元组; 前9个元素组成一个可以直接传递的元组,time.mktime()第十个元素是日期时区与UTC(这是格林威治标准时间的正式期限)[1]的偏移量。如果输入字符串没有时区,则返回的元组的最后一个元素是None。请注意,结果元组的索引6,7和8不可用。

email.utils.mktime_tz(tuple)

将返回的10元组parsedate_tz()转换为UTC时间戳(自Epoch以来的秒数)。如果元组中的时区项目是None假设当地时间。

email.utils.formatdate([timeval[, localtime][, usegmt]])

根据RFC 2822返回日期字符串,例如:

Fri, 09 Nov 2001 01:08:47 -0000

可选的timeval如果给定的是作为接受一个浮点时间值time.gmtime()time.localtime(),否则就使用当前时间。

可选本地时间是一个标志,当True,解释timeval中,并返回相对于本地时区而不是UTC,适当服用夏令时考虑的日期。默认值False是使用UTC。

可选的usegmt是一个标志,当True输出带有时区的日期字符串作为ascii字符串时GMT,而不是数字-0000。这对于某些协议(如HTTP)是必需的。这仅适用于本地时间False。默认是False

2.4版本中的新功能。

email.utils.make_msgid([idstring])

返回适合符合RFC 2822Message-ID标头的字符串。可选的idstring(如果给出)是用于加强消息ID唯一性的字符串。

email.utils.decode_rfc2231(s)

解码字符串小号根据RFC 2231

email.utils.encode_rfc2231(s[, charset[, language]])

编码字符串小号根据RFC 2231。可选的字符集语言(如果给出)是要使用的字符集名称和语言名称。如果两者都没有给出,则s按原样返回。如果给出字符集语言不是,则使用空字符串对语言进行编码。

email.utils.collapse_rfc2231_value(value[, errors[, fallback_charset]])

当标题参数以RFC 2231格式编码时,Message.get_param可能会返回包含字符集,语言和值的3元组。collapse_rfc2231_value()将其变成一个unicode字符串。可选错误传递给内置函数的错误参数unicode(); 它默认为replace。可选fallback_charset指定要使用的字符集,如果RFC 2231标头中的标头未被Python识别; 它默认为us-ascii

为了方便起见,如果传递的collapse_rfc2231_value()不是元组,它应该是一个字符串,并且不加引号就返回。

email.utils.decode_params(params)

根据RFC 2231解码参数列表。params是包含表单元素的2元组序列(content-type, string-value)

在版本2.4中更改:该dump_address_pair()功能已被删除; formataddr()改为使用。

在版本2.4中更改:该decode()功能已被删除; Header.decode_header改为使用该方法。

在版本2.4中更改:该encode()功能已被删除; Header.encode改为使用该方法。

1

请注意,时区偏移的符号与同一时区的time.timezone变量的符号相反; 后一个变量遵循POSIX标准,而该模块遵循RFC 2822。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法