python制作词云-代码

import jieba
import wordcloud
import os
from scipy.misc import imread
width=1000
height=700
background_color="white"
font_path="msyh.ttc"
flag=1
def selfdefined():
    global width,height,background_color,flag
    while True:
        print("1.自定义尺寸\n2.自定义背景色\n3.自定义图片形状\n0.立刻制作")
        n=input("选择序号:")
        if n=='1':
           while True:
               Width=input("请输入图片长(单位像素)(例如1920):")
               Height=input("请输入图片宽(单位像素)(例如1080):")
               try:
                   type(eval(Width)==type(int)and eval(Height)==type(int))
                   width=int(Width)
                   height=int(Height)
                   break
               except:
                   print("输入异常,请检查你输入的是否为数字")
        elif n=='2':
            print("颜色对照表可参考网址https://www.114la.com/other/rgb.htm")
            background_color=input("请输入rgb码(例如FFFFFF):")
            background_color="#"+background_color
        elif n=='3':
            path=input("请输入所要制成{矢量图片}的绝对路径(例如C:\\picture\\1.png)")
            if os.path.exists(path):
                mask=imread(path)
                flag=0
            else:
                print("文件不存在,请检查输入的路径是否正确")
        elif n=='0':
            print("请新建一个txt文件,并写入你的文本内容,复制绝对路径到此处(例如C:\文档\a.txt)")
            path=input("路径:")
            f=open(path)
            t=f.read()
            f.close()
            ls=jieba.lcut(t)
            txt=" ".join(ls)
            if flag==0:
                w=wordcloud.WordCloud(font_path="msyh.ttc",mask=mask,width=width,height=height,background_color=background_color)
                flag=1
            else:
                w=wordcloud.WordCloud(font_path="msyh.ttc",width=width,height=height,background_color=background_color)
            w.generate(txt)
            topath=input("生成路径:")
            w.to_file(topath)
            print("图片制作成功,已保存与本地路径"+topath+"\n")
def main():
    selfdefined()
main()

运行结果如下:

python制作词云-代码_第1张图片

原矢量图的图片:

python制作词云-代码_第2张图片

生成后的效果:

python制作词云-代码_第3张图片

如果全不自定义直接生成的效果:

python制作词云-代码_第4张图片

之前看到有人发wordcloud的安装,想着也来玩一下,这个是我写的算是交互代码吧,你可以用pyinstaller打包成一个exe小程序,本来也是想这么做的,但是打包后,程序打包过程似乎找不到wordcloud包的路径(当时下载非pip安装的),程序不能打开运行不了,希望有大神不吝赐教,上方的代码没问题,在IDE完美运行,我还想扩展一些内容,但现在备考期末,以后有时间再弄,所以目前main函数很单调


你可能感兴趣的:(python)