master
zj3D 9 months ago
parent 6595ba1cdc
commit 0bb3549c9f

@ -0,0 +1,27 @@
import asyncio
import aiofiles
from collections import Counter
from cppy.cp_util import *
async def read_file(file_path):
async with aiofiles.open(file_path, 'r', encoding='utf-8') as file:
content = await file.read()
return content
async def count_words(text):
words = extract_str_words(text.lower())
word_counts = Counter(words)
return word_counts
async def main():
wordfreqs = Counter()
files = [ testfilepath ] * 10
for thisfile in files:
text = await read_file( thisfile )
top_words = await count_words(text)
wordfreqs += top_words
for word, count in wordfreqs.most_common(10):
print(f"{word}: {count//10}")
# 运行异步主函数
asyncio.run(main())

@ -2,10 +2,6 @@ import threading
from collections import Counter from collections import Counter
from cppy.cp_util import * from cppy.cp_util import *
"""
把切分数据片段分给多线程改为分配多个文件给多个线程有IO操作就能看到效果了
"""
stop_words = get_stopwords() stop_words = get_stopwords()
# 定义一个函数来计算每个线程的词频 # 定义一个函数来计算每个线程的词频

Loading…
Cancel
Save