#coding=utf-8
from wordcloud import WordCloud
import PIL .Image as Image
import matplotlib
import numpy as np # numpy数据处理库
import jieba # 结巴分词
import os
import time
class Post():
def __init__(self,start):
print('开始')
self.load(start)
def load(self,start):
with open('word.txt', 'r', encoding='utf-8-sig') as file_open:
content = file_open.read()
text=self.jieba_CN(content)
print(text)
mask = np.array(Image.open('2.jpg')) # 定义词频背景
wordcloud=WordCloud(
font_path='msyh.ttc',
mask=mask, # 设置背景图
max_words=500, # 最多显示词数
max_font_size=70 # 字体最大值
).generate(text)
# 生成年月日时分秒时间
picture_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
directory_time = time.strftime("%Y-%m-%d", time.localtime(time.time()))
imgsrc = '.\\' + directory_time + '\\' + picture_time + '.png'
# 获取到当前文件的目录,并检查是否有 directory_time 文件夹,如果不存在则自动新建 directory_time 文件
try:
File_Path = os.getcwd() + '\\' + directory_time + '\\'
if not os.path.exists(File_Path):
os.makedirs(File_Path)
print("目录新建成功:%s" % File_Path)
else:
print("目录已存在!!!")
except BaseException as msg:
print("新建目录失败:%s" % msg)
image_produce=wordcloud.to_image()
image_produce.show()
wordcloud.to_file(imgsrc)
def jieba_CN(self,text):
wordlist=jieba.cut(text)
result=' '.join(wordlist)
return result
if __name__ == '__main__':
Post("statr")
注意事项
word.txt
字体一定要,图片尽量有点轮廓的图片
生成效果
分享一个下载地址