Python 3 教程 在线

1178Python3 SMTP发送邮件

message['From'] = Header("xxxxx@163.com", 'utf-8')
message['To'] = Header("xxxxx@qq.com,xxxxx@qq.com", 'utf-8')
smtpObj.sendmail("xxxxx@163.com", ["xxxxx@qq.com","xxxxx@qq.com"], message.as_string())

注意点:

From、To 要与 sendmail 中的前两个参数保持一致

To 多个邮箱用逗号隔开,sendmail 中的第二个参数要用 list

subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

注意点:subject 中不能含有 "test" 关键字,否则会被视为垃圾邮件

smtpObj.login(mail_user,mail_pass)

注意点: 如果使用授权码登录第三方邮件客户端,则此处的密码(mail_pass)使用授权码

1177Python3 CGI编程

第一个 cgi 程序这个部分,在英文的 linux 系统下,如果你按照教程的范文编写执行会抛出错误,解决办法有两个,一是修改程序,修改默认stdout,修改后的程序如下:

#!/usr/bin/python3

import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

print ("Content-type:text/html")
print ()                             # 空行,告诉服务器结束头部
print ('<html>')
print ('<head>')
print ('<meta charset="utf-8">')
print ('<title>Hello Word - 我的第一个 CGI 程序!</title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello Word! 我是来自菜鸟教程的第一CGI程序</h2>')
print ('</body>')
print ('</html>')

或者修改系统的 i18n 亦可。

1176Python3 高级教程 Python3 正则表达式

re.sub 匹配标点符号、换行实例。

import re
s = "you're asking me out.that's so cute.what's your name again?"
print(re.sub(r"([.!?])", r"\1\n", s))

输出结果:

you're asking me out.
that's so cute.
what's your name again?

1175Python3 高级教程 Python3 正则表达式

Python3 匹配 IP 地址实例

import re
ip ='192.168.1.1'
trueIp =re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])',ip)
print(trueIp)

输出结果:

192.168.1.1

1174Python3 高级教程 Python3 正则表达式

\b 的用法也可以很灵活,在给定的字符串中,找到以小写字母开头的单词和单词数量。

import re

s="i Am a gOod boy  baby!!"
result=re.findall(r'\b[a-z][a-zA-Z]*\b',s)
print(result)
print("小写字母开头的单词个数:",len(result))

结果:

['i', 'a', 'gOod', 'boy', 'baby']
小写字母开头的单词个数: 5