Python——初次应用实际(解析文本)

目录

一、学习Python的感想

效果图

二、代码

1、用到的库

2、代码分析


一、学习Python的感想

在网上看到有许多人说自学Python几个月就能够做出非常厉害的功能,看到这些文章我开始怀疑自己,学的四个月Python咋就是不知道该怎么往实际运用呢。

直到最近寒假我才发现这当中的问题,原先的学习都是以书中内容为主,代码看的少,而知识看的多,这就导致学习者发挥自己的能力敲代码时陷入的代码荒(不知道怎么敲下去)。

也许有一部分学习Python的同学有大量的敲代码,也同样会与我一样自己动手写一款程序时写出不出来来。

我深深地记得上学期教我们的Python老师在准备期末考时对我们说:这次期末考先不让你们做一个管理系统了,不然全班只有个位数的同学会过。

互联网的趋势,让许多人往这一业内发展,这也是我写的第一篇有关代码的文章,也相信有许多同学在学习Python或其他编程软件的时候,都会陷入不知如何去敲的难题,唯一的解决办法就是:多看代码、多看书、多敲、多构思!

如果有题练当然更好的!

效果图

先展示下吧(还有些瑕疵),写文章激励激励自己,也激励正在学习Python的你!

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjMwNDIyOTE=,size_20,color_FFFFFF,t_70,g_se,x_16

二、代码

1、用到的库

       wordcloud、jieba、time

2、代码分析

首先当然是要导入需要用到的库

import wordcloud
import jieba
import time

关于wordcloud和jieba这两个第三方库,可以使用PyCharm的file设置中点击安装,或到系统中的cmd使用:

pip install worlcloud
pip install jieba

接下来就是设置参数,直接上代码:

# 分词库
import wordcloud
import jieba
import time

class ocr:
    def __init__(self) -> str:      # 初始化程序
        time.sleep(2)
        print("欢迎使用分词系统")
        time.sleep(0.5)
        print("等待程序初始化,大约需要1-3秒钟")
        time.sleep(2)
    def File(self, user: str) -> str:     # 识别文件名称,并处理数据
        if user[0] == "" or user[0] == " ":
            print("输入错误!")
        elif user[-4:] == '.txt':
            file = open(user, 'r', encoding="UTF-8")
            self.f = file.read()
            file.close()
            if user[-3:] != 'txt':
                print("格式错误!")
        else:
            lcut = jieba.lcut(user)
            self.f = " ".join(lcut)
    def show(self):      # 读取文本/文件并输出云图
            ls = jieba.lcut(self.f)
            lst = []
            for i in ls:
                if len(i) >= 2:
                    lst.append(i)
            aaa = str(lst)
            word = wordcloud.WordCloud(
                            font_path="msyh.ttc",\
                            width=1000, height=800,\
                            background_color="white",\
                )
            word.generate(aaa)
            picture_name = str(input("请输入图片名称:"))
            word.to_file("{}.png".format(picture_name))

if __name__ == "__main__":
    op = ocr()
    user = input("请输入文本/文件名:\n")
    op.File(user)
    op.show()

这里我是类来设计初始化程序,返回的是一个字符串类型。

加入time库是为了使用的感官,不会程序一运行系统马上显示出和用户输入的信息,更便于大脑的反应。

    def __init__(self) -> str:      # 初始化程序
        time.sleep(2)
        print("欢迎使用分词系统")
        time.sleep(0.5)
        print("等待程序初始化,大约需要1-3秒钟")
        time.sleep(2)

第二步便开始判断用户输入的是文字,还是文本文件(.txt),如果输入的第一个字符是空或空格,则提示输入错误。

如果不是空字符或空格,继续判断输入的是文字还是文本文件“.txt” ,若是文字或文本文件“.txt”均使用分词获取两个或两个以上的汉字。

def File(self, user: str) -> str:     # 识别文件名称,并处理数据
        if user[0] == "" or user[0] == " ":
            print("输入错误!")
        elif user[-4:] == '.txt':
            file = open(user, 'r', encoding="UTF-8")
            self.f = file.read()
            file.close()
            if user[-3:] != 'txt':
                print("格式错误!")
        else:
            lcut = jieba.lcut(user)
            self.f = " ".join(lcut)

不知道其他友友们使用jieba库分词是什么样子,我电脑中都会分到一个汉字,看起来怪怪的,抓不到重点,所以就采用直接抛弃两个汉字以下的内容。

第三步则将其输出称图片的格式,当然这个输出的图片是方方正正的,若要使用图案,可以使用imread()加载你要使用的图案图片。

 def show(self):      # 读取文本/文件并输出云图
            ls = jieba.lcut(self.f)
            lst = []
            for i in ls:
                if len(i) >= 2:
                    lst.append(i)
            aaa = str(lst)
            word = wordcloud.WordCloud(
                            font_path="msyh.ttc",\
                            width=1000, height=800,\
                            background_color="white",\
                )
            word.generate(aaa)
            picture_name = str(input("请输入图片名称:"))
            word.to_file("{}.png".format(picture_name))

对代码有问题,可以私信!

我是编程小白,还请大神指教!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值