二、思路分析
-
我们要让程序自动识别邮箱类型。如果没建立过这种类型的文件夹,就建立,并在文件夹里建立文本文件,写入邮箱地址;已经建立过,就直接写入邮箱地址。
-
每个邮箱地址的结构,可以概括为“不定长字符串@邮箱类型.com”,我们要提取的内容就夹在@和.com之间,如果知道了@的索引和com前的那个.的索引,就能用切片法取出邮箱类型。
-
为了少占内存,我们一行一行地读取原文件,读到文件末尾就停止。
三、代码实现
import os
my_path='C:\\Users\\22768\\Desktop\\各种邮箱'
#我希望把所有邮箱类型的文件夹都建立在“各种邮箱”文件夹中
with open('C:\\Users\\22768\\Desktop\\mails.txt','r') as f:
#打开原文件
while True:
current_line=f.readline()
#把读取到的一行内容赋值给变量current_line
if current_line=='':
break
#当读取的内容是空字符串的时候,就代表读到文件末尾了,退出循环
index_of_at=current_line.index('@')
#获取@的索引
current_email_type=current_line[index_of_at+1:-5]
#提取邮箱类型,后面的.的索引我们就倒着数,别忘了在末尾还有一个换行符,也占一个字符
files_list=os.listdir(my_path)
#读取“各种邮箱”文件夹中的文件列表
if current_email_type+'邮箱' not in files_list:
os.mkdir(my_path+'\\'+current_email_type+'邮箱')
#如果“各种邮箱”中还没有建立该类型邮箱的专属文件夹,就新建一个,已经有了就往下走
with open(my_path+'\\'+current_email_type+'邮箱\\'+current_email_type+'邮箱.txt','a') as f1:
f1.write(current_line)
#以'a'追加的方式打开专属文件夹中的txt文件(第一次执行这个操作时会自动建立一个txt文件)。把当前读取的这一行内容写入这个文件。
一、需求描述假设我们有一个记事本文件,里面混乱地存储着不同类型的邮箱地址,每个邮箱地址占一行。如下图所示:现在我们想把它整理一下,按照邮箱类型建立文件夹,在每个文件夹里建立一个txt文件,存储同类型的邮箱地址。如下图所示:我们的原文件中有多少种类型的邮箱,就要相应地建立多少个文件夹打开其中一个文件夹,能看到里面的txt文件文件里面是这样的二、思路分析我们要让...
在
Python
使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容。
下面是在
Python
中
使用正则表达式同时匹配
邮箱
和电话并进行简单的
分类
的代码,
import re
p=re.compile(r'^[\w\d]+[\d\w\_\.]+@([\d\w]+)\.([\d\w]+)(?:
首先分析emali地址的规则,以bill.gates@microsoft.com为例,可以将一个email地址分为三部分。第一部分是bill.gate,它的规则可以描述为正数个字母、数字和.的组成。第二部分为固定字符@.第三部分以microsoft.com为例,它的规则可以描述为正数个字母数字+.com。
明确了规则,正则表达式可以如下所示
r'^[\d\w\.]+@[\d\w]+\.com...
书写格式为:用户名+@+域名
如:12345为你的QQ号(用户名),qq.com是腾讯的域名,则你的
QQ邮箱
就是12345@qq.com;
QQ号目前正确格式是10000(五位)至999999999(九位)之间的纯数字;
QQ邮箱
默认是QQ号@qq.com。
pattern = r'[1-9]\d{4,7}@qq\.com$'
# 正则表达式'.'代表匹配除换行符\n之外的任何单字符。要匹配 '.'须使用 ‘\.’。
2.新浪
邮箱
普通
邮箱
:4-16个字符,可使用英文小写、数字、下划线,下划.
打开
QQ邮箱
——>设置——>账户——>开启服务——>开启IMAP/SMTP服务,这时按照提示信息获取授权码,记录下授权码。
2.QQ的smtp服务器是【smtp.qq.com】,端口号是465。
3.用server = smtplib.SMTP_SSL()设置
邮箱
服务器和端口。
4.server.login()
中
传入的是你的邮...
django用redis存储session报错redis.exceptions.ResponseError: NOAUTH Authentication required的解决办法
|Spike|:
C语言只用int这一种数据类型实现用拼音念数字
CSDN-Ada助手:
如何手动添加NLTK data
Python的海龟绘图库turtle中tracer(False)和speed(0)的区别
2301_77126879: