Использование регулярных выражений для поиска электронных писем (Теоретический вопрос) - PullRequest
0 голосов
/ 17 февраля 2020

Хорошо, поэтому я написал код, чтобы взять текстовый файл, найти все электронные письма в нем, удалить дубликаты электронных писем, поместить оставшиеся электронные письма в новый список, а затем записать этот список в новый файл.

import re

textFile = open("/Users/Name/Documents/EmailList.txt", "r")
contents = textFile.read()
emails = re.findall("([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)", contents) 
counter = 0
emailList = [] 

for email in emails:
    if email not in emailList:
        emailList.append(email)
        counter = counter + 1

print ('The Number of emails in this list is: ' + str(counter))

newList = open("New_Email_List.txt","w+")

for email in emailList:
    newList.write("%s\n" % email)
newList.close()

Хорошо, этот код полностью работоспособен, но у меня есть вопрос ...

Мой код не записывал электронные письма в файл new_email_list, пока я не изменил:

for email in emails:
    newList.write("%s\n" % email)
newList.close()

на

for email in emailList:
    newList.write("%s\n" % email)
newList.close()

Почему код не может повторить исходный шаблон регулярного выражения снова, как это было в первом случае для l oop?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...