3 回答
TA贡献2037条经验 获得超6个赞
让我们从查看以下文档开始lstrip:
海峡 lstrip([字符])
返回删除了前导字符的字符串的副本。chars 参数是一个字符串,指定要删除的字符集。
这意味着您的代码的以下部分:
line.lstrip("From: ")
从左边开始删除所有出现的F, r, o,和空格m,:直到找到另一个字符。一些例子:
>>> "From: rrabc@example.com".lstrip("From: ")
'abc@example.com'
>>> "From: morF@example.com".lstrip("From: ")
'@example.com'
>>> " mmmrrroooFFF: x@example.com".lstrip("From: ")
'x@example.com'
TA贡献1712条经验 获得超3个赞
使用str.split()amd 然后访问第一个元素。您还可以使用 aset来获取所有唯一的电子邮件。
前任:
emails = set()
with open("mbox-short.txt") as fhand:
for line in fhand:
if line.startswith("From:"):
emails.add(line.strip().split()[1])
print(emails)
print("\nTotal Unique Contacts=",len(emails))
TA贡献1725条经验 获得超7个赞
您也许可以re用来获取这些邮件:
import re
with open("mbox-short.txt", 'r') as f:
emails= list(set(re.findall(r'[\w\.]+@[\w\.]+', f.read())))
添加回答
举报