编-个Python脚本,读取一个目录中的所有文本文件(假设文件扩展名为.txt),并统 计每个文件中单词的频率。将结果保存到一个名为word_freguency.json的文件中
时间: 2024-11-25 11:12:33 浏览: 19
为了编写一个Python脚本来完成这个任务,我们可以使用`os`, `glob`, `json`, 和 `collections` 这些内置模块。下面是一个简单的示例:
```python
import os
import glob
from collections import Counter
import json
def count_words_in_files(directory):
# 获取指定目录下的所有.txt文件
text_files = glob.glob(os.path.join(directory, '*.txt'))
word_frequency = {}
for file in text_files:
with open(file, 'r', encoding='utf-8') as f:
words = f.read().split() # 分割文本为单词列表
# 使用Counter计算每个单词的频率
file_word_freq = Counter(words)
# 将当前文件的词频添加到总词频字典中
word_frequency[file] = file_word_freq
# 保存词频数据到json文件
with open('word_frequency.json', 'w', encoding='utf-8') as f:
json.dump(word_frequency, f, ensure_ascii=False, indent=4) # 保持字典的美观输出
# 调用函数,传入你想统计的目录路径
count_words_in_files('/path/to/your/directory')
```
在这段代码中,我们首先找到指定目录下的所有`.txt`文件,然后逐个打开它们并将内容读取成单词列表。接着使用`Counter`来统计每个文件中每个单词的频率,并将结果存储在一个字典中,最后将这个字典写入到`word_frequency.json`文件中。
阅读全文