已知一段英文文本(文件内容自定),存放在D:\python下data1.txt中,请 编写程序统计data1.txt中出现频率最高的前5个单词,并将结果用文件名data_词频.txt保存在同目录下。从文件中读取数据或输出结果到文件过程中,如发生异常则给出相应提示。
时间: 2023-06-02 16:06:49 浏览: 163
好的,以下是程序代码:
```python
import os
from collections import Counter
file_path = "D:/python/data1.txt"
try:
with open(file_path, "r") as f:
text = f.read().lower() # 把文本转换为小写字母,避免出现大小写不一致的情况
words = text.split() # 按空格拆分单词
word_counts = Counter(words) # 统计单词出现次数
top_five = word_counts.most_common(5) # 找出出现频率最高的前5个单词
except FileNotFoundError:
print("文件不存在")
except Exception as e:
print("发生异常:", e)
else:
new_file_path = os.path.join(os.path.dirname(file_path), "data_词频.txt") # 生成新文件的路径
try:
with open(new_file_path, "w") as f:
for word, count in top_five:
f.write(word + "\t" + str(count) + "\n") # 写入单词和数据到新文件中
except Exception as e:
print("写入文件时发生异常:", e)
else:
print("已成功保存结果到文件:", os.path.abspath(new_file_path))
```
运行程序后,如果data1.txt文件存在,则程序会统计出出现频率最高的前5个单词,并把结果保存到同目录下的data_词频.txt文件中,同时在命令行中显示出文件的绝对路径。如果data1.txt文件不存在,则会提示“文件不存在”;如果在读取和写入文件的过程中发生异常,则会打印出相应的提示信息。
阅读全文