forked from p46318075/CodePattern
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())
|
Loading…
Reference in new issue