import jieba import wordcloud from imageio import imread mask=imread('fivestar.png') def shuchu(): txt=open('threekingdoms.txt','r',encoding='gb18030').read() excludes={'将军','却说','荆州','二人','不可','不能','如此'} words=jieba.lcut(txt) counts={} for word in words: if len(word)==1: continue elif word=='诸葛亮' or word=='孔明曰': rword='孔明' elif word=='关公' or word=='云长': rword='关羽' elif word=='玄德' or word=='玄德曰': rword='刘备' elif word=='孟德' or word=='丞相': rword='曹操' else: rword=word counts[rword]=counts.get(rword,0)+1 for word in excludes: del counts[word] items = list(counts.items()) items.sort(key=lambda x:x[1],reverse=True) for i in range(10): word,count=items[i] print('{0:<10}{1:>5}'.format(word,count)) shuchu() f=open('threekingdoms.txt','r',encoding='gb18030') t=f.read() f.close() ls=jieba.lcut(t) txt=' '.join(ls) w=wordcloud.WordCloud(font_path='msyh.ttc',width=1000,height=700,background_color='white',mask=mask) w.generate(txt) w.to_file('grwordcloud.png')