hamlet词频统计

题目来源:Python语言程序设计

授课老师: 嵩天、黄天羽、礼欣

hamlet小说下载路径:https://python123.io/resources/pye/hamlet.txt


代码

def getText(path):
    '''
        根据路径获取文件的内容,并将文件中的字母转换成小写
        同时用空格代替特殊的字符
    '''
    text = open(path,'r').read()
    #将文本的英文字母全部转换成小写的
    text = text.lower()
    #用空格代替文本中出现的特殊符号
    for ch in '!"#$%&()*+,-_/:;<=>?@[\\]^.{|}~':
       text = text.replace(ch," ")
    return text
#存放文件的路径
#路径的名称一定要手动自己输入,否则会报错
#绝对路径
path = 'C:/Users/Desktop/hamlet.txt'
#如果txt文件与py文件在同一个目录下就可以直接用文件名
#相对路径
#path = 'hamlet.txt'
hamletTxt = getText(path)
words = hamletTxt.split()
#定义字典类型去存储文字和文字出现的次数
counts = {}
for word in words:
    counts[word] = counts.get(word,0) + 1
items = list(counts.items())
#根据iems的第二个值进行从大到小的排序
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count = items[i]
    #左对齐,占位10位,填充字符为空格
    print("{0:<10}{1:>5}".format(word,count))

结果显示


 易错点

在输入文件的路径时,一定要自己手动输入,如果通过文件的属性对文件的路径进行复制的话,会导致路径报错误

OSError: [Errno 22] Invalid argument: '\u202ac:/Users/Desktop/hamlet.txt'

路径的输入可以使用相对路径和绝对路径,只要把txt文件与py文件放到了同一个文件夹中,我们就直接可以用hamlet.txt来指明路径

猜你喜欢

转载自blog.csdn.net/Mzjuser/article/details/82526930