Python将电子邮件地址从文本文件中拉出并放入字典中

问题描述 投票:0回答:1

我正在尝试从文本文件中提取电子邮件地址,并将其放入字典中。以下代码允许我将其打印出来。注意:我是通过字符而不是单词来回答问题,我认为这本身就是一个问题。如何提取电子邮件地址,然后将其分配给词典?

    fname = input("Enter file:")
    try:
        fhand = open(fname)
    except:
        print('File cannot be opened:')
        exit()
    counts = dict() 
    for line in fhand: 
         words = line.split
         if line.startswith('From:'):
             print(line[6:])
python extraction
1个回答
0
投票

似乎您正在尝试从mbox文件格式计算电子邮件发件人。如果是这种情况,这是使用来自Python 3的标准库模块的解决方案:

from collections import Counter
# just to have a pretty output
from pprint import pprint
import mailbox

fname = input("Enter file:")

with mailbox.mbox(fname) as mbox:
    senders = Counter(msg['From'] for msg in mbox)
    pprint(senders)

作为使用collections.Counter的良好副作用,您可以有类似以下内容:

print('Top 10 senders')
pprint(senders.most_common(10))

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.