# coding:utf-8
"""
Name : email.py
Author : GS
Contect : [email protected]
Time : 2019/7/8 20:23
Desc:
"""
import re
f = open('test.txt', 'r',encoding='utf-8')#读取文件
strings=f.read()#获取文件内容,到内存
f.close()#读关闭
matches = []
emailRegex = re.compile(r'''(
[a-zA-Z0-9._%+-]+ # username
@ # @ symbol
[a-zA-Z0-9.-]+ # domain name
(\.[a-zA-Z]{2,4}){1,2} # dot-something
)''', re.VERBOSE)
for groups in emailRegex.findall(strings):
matches.append(groups[0])
f1 = open('test1.txt','a',encoding='utf-8')#打开新的文件
list2 = list(set(matches))#去重
# print(list2)
list_nums = len(list2)#列表的数量,长度
#循环写入文件,并换行
for line in range(list_nums):
f1.writelines(list2[line]+"\n")
#关闭流
f1.close()
从实现功能上讲,对我所知道的邮箱都是完美提取,完美去重,但是代码有待进一步优化。
觉得有用的话,加我可交流