编写一个程序来读取邮件日志,使用字典构建直方图来计算来自每个消息的消息数量。输入文件名: mbox-short.txt {'gopal.ramasammycook@gmail.com': 1, 'louis@media.berkeley.edu': 3, 'cwen@iupui.edu': 5, 'antranig@caret.cam.ac.uk': 1, 'rjlowe@iupui.edu': 2, 'gsilver@umich.edu': 3, 'david.horwitz@uct.ac.za': 4, 'wagnermr@iupui.edu': 1, 'zqian@umich.edu': 4, 'stephen.marquard@uct.ac.za': 2, 'ray@media.berkeley.edu': 1} 从 txtfiles 文件夹下载 mbox-short.txt 文件.
时间: 2024-01-01 10:04:42 浏览: 359
以下是Python代码实现:
```python
filename = "txtfiles/mbox-short.txt" # 文件名
email_counts = dict()
with open(filename, 'r') as f:
for line in f:
if line.startswith('From '):
words = line.split()
email = words[1]
email_counts[email] = email_counts.get(email, 0) + 1
print(email_counts)
```
输出:
```
{'gopal.ramasammycook@gmail.com': 1, 'louis@media.berkeley.edu': 3, 'cwen@iupui.edu': 5, 'antranig@caret.cam.ac.uk': 1, 'rjlowe@iupui.edu': 2, 'gsilver@umich.edu': 3, 'david.horwitz@uct.ac.za': 4, 'wagnermr@iupui.edu': 1, 'zqian@umich.edu': 4, 'stephen.marquard@uct.ac.za': 2, 'ray@media.berkeley.edu': 1}
```
这个程序读取 `mbox-short.txt` 文件中的每一行,如果该行以 `"From "` 开头,则提取出该行中的邮箱地址,并将其添加到 `email_counts` 字典中。如果该邮箱地址已经在字典中,则将其计数加一,否则将其计数设置为一。最后输出 `email_counts` 字典,其中包含每个邮箱地址的邮件数量。
阅读全文