计算机二级python-第十章-python第三方库概览

时间:2021/09/04


1.python第三方库的获取和安装

  • 依照安装方式灵活性和难易程度有3个方法
    • pip工具安装
    • 自定义安装
    • 文件安装

1.1 pip工具安装

  • 最常用且最高效的python第三方库安装方式是采用pip工具安装。
  • pip是python官方提供并维护的在线第三方库安装工具。
  • 使用pip安装第三方库需要联网
  • 安装语法:
pip install 库名
  1. 安装路径中的pip.exe实际上就是需要安装的工具
    在这里插入图片描述
  2. win+R打开,输入cmd
    在这里插入图片描述
  3. 输入安装语法 pip install 库名
    在这里插入图片描述

1.2 自定义安装

  • 自定义安装指按照第三方库提供的步骤和方式安装。
  • 第三方库都有主页用于维护库的代码和文档。
  • 自定义安装一般适用于在pip中尚无登记或安装失败的第三方库
    在这里插入图片描述

1.3 文件安装

  • 由于python某些第三方库仅提供源代码,通过pip下载文件后无法在windows系统编译安装,会导致第三方库安装失败。

2.pip工具使用

  • 除了进行第三方库安装之外,pip工具能对第三方库进行基本的维护。

  • 执行 pip -h 将列出pip常用的子命令
    在这里插入图片描述

  • pip支持安装(install)、下载(download)、卸载(uninstall)、列表(list)、查看(show)、查找(search)等一系列安装和维护子命令。

  • pip的uninstall子命令可以卸载一个已经安装的第三方库

  • 语法格式:

pip uninstall 模块名称

2.1 Pyinstaller库概述

  • Pyinstaller是一个十分有用的python第三方库,能够在windows、linux、macOS等操作系统下将python源文件打包,变成直接可运行的可执行文件。
  • 通过对源文件打包,python程序可以在没有安装python的环境中运行,也可以作为一个独立文件方便传递和管理。pyinstaller需要在命令行下用pip工具安装。
pip install PyInstaller
  • pip指令可以将pyinstaller库自动安装到python解释器目录,与pip或pip3命令路径相同,可以直接在命令行调用。
  • pyinstaller针对不同操作系统打包生成的可执行文件都不同。
    在这里插入图片描述

2.2 pyinstaller库与程序打包

  • 使用pyinstaller库对python源文件打包十分简单。
  • 语法结构:
Pyinstaller 源文件名
  • 执行完毕后,源文件所在目录将生成dist和build两个文件夹。

  • build目录是pyinstaller存储临时文件的目录,可以安全删除。

  • 最终的打包程序在dist内部与源文件中的目录

  • 目录中其它文件是可执行文件的动态链接库

  • 可以通过 -F参数对python源文件生成一个独立的可执行文件

pyinstaller -F a.py
  • 执行后在dist目录中出现了a.exe文件,没有任何依赖库,执行它即可运行程序

  • 使用pyinstaller库需要注意以下问题:

    • 文件路径不能出现空格和英文句号(.)
    • 源文件必须是UTF-8编码,暂时不支持其他编码类型。
  • 新建一个.py的文件,命名test06121.py

print('hello')
# 用户没有输入,程序不会结束
input()

在这里插入图片描述

  • 以下开始打包程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • pyinstaller命令的常用参数
参数功能
-h、-help查看帮助
–clean清理打包过程中的临时文件
-D,–onedir默认值,生成dist目录
-F,–onefile在dist文件夹中只能生成独立的打包文件
-i<图标文件名.ico>指定打包程序使用的图标icon文件(以下演示)

1.下载一个.ico后缀的图标
在这里插入图片描述

2.-i加图标路径及名称 -F加源码路径及名称
在这里插入图片描述

3.生成一个包含图标的可执行文件
在这里插入图片描述

2.3 jieba库概述

  • 由于中文文本的单词不是通过空格或标点符号分割,中文及类似语言存在一个重要的“分词”问题。
  • jieba是python中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列。jieba库需要通过pip指令安装。
pip install jieba
  • jieba库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。

  • 除了分词,jieba还提供增加自定义中文单词的功能。

  • jieba库支持三种分词模式:

    • 精确模式,将句子最精确地切开,适合文本分析
    • 全模式,把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义
    • 搜索引擎模式,在精确模式基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
  • 对中文分词来说,jieba只需要一行代码。(英文文本不存在分词问题)
    在这里插入图片描述


2.3.1 jieba库与中文分词

  • jieba库主要提供中文分词功能,可以辅助自定义分词词典
  • jieba库常用的分词函数
函数功能
jieba.lcut(s)精确模式,返回一个列表类型
jieba.lcut(s,cut_all=True)全模式,返回一个列表类型
jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型
jieba.add_word(w)向分词字典中增加新词w

1.jieba.lcut(s)是最常用的中文分词函数,用于精确模式,即将字符串分割成等量的中文词组,返回结果是列表类型。

import jieba
ls=jieba.lcut('全国计算机等级考试python科目')
print(ls)

在这里插入图片描述

2.jieba.lcut(s,cut_all=True)用于全模式,即将字符串的所有分词可能均列出来,返回结果是列表类型,冗余性最大。

import jieba
ls=jieba.lcut('全国计算机等级考试python科目',cut_all=True)
print(ls)

在这里插入图片描述

注:相比精确模式,全模式会找到所有分词可能,比如“计算机”被分词为3个可能词语“计算”、“计算机”、“算机”

3.jieba.lcut_for_search(s)返回搜索引擎模式,该模式首先执行精确模式,然后再对其中长词进一步切分获得最终结果。

import jieba
ls=jieba.lcut_for_search('全国计算机等级考试python科目')
print(ls)

在这里插入图片描述

注:相比于精确模式,其中长词“计算机”被再次分词成“计算”、“算机”、“计算机”三个词语,存在一定冗余

  • 提示:
    • 精确模式因为不产生冗余,最为常用。
    • 搜索引擎模式更倾向于寻找短词语,这种方式具有一定冗余,但相较于全模式较少。

4.jieba.add_word()函数,用来向jieba词库增加新的单词。

import jieba
jieba.add_word('python科目')
ls=jieba.lcut('全国计算机等级考试python科目')
print(ls)

在这里插入图片描述
注:增加新词后,当遇到该词语时将不再被分词


2.4 wordcloud库概述

  • 数据展示的方式多种多样,传统的统计图尽管很“科学”,但略显古板。
  • 尤其对于文本来说,更加直观、带有一定艺术感的展示效果需求很大。对于这类需求,wordcloud特有的展示方式深得人心。
  • wordcloud以词语为基本单元,根据其在文本中出现的频率设计不同大小以形成视觉上的不同效果,形成“关键云层”或“关键词渲染”,从而使读者可以速读
  • wordcloud库是专门用于根据文本生成词云的python第三方库,十分常用且有趣。
  • 提示:词去
  • 安装wordcloud库在windows的cmd命令行:
pip install wordcloud

在这里插入图片描述

from wordcloud import WordCloud
txt='I like Python,I am learning Python'
wd=WordCloud().generate(txt)
# 生成一个图片
wd.to_file('python.jpg')

在这里插入图片描述

2.4.1 wordcloud库与可视化词云

  • 在生成词云时,wordcloud默认会以空格或标点分隔符对目标文件进行分词处理。
  • 对于中文文本,分词处理需要由用户来完成。
  • 一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。
  • 处理中文时还需要指定中文字体。例如,选择了微软雅黑(msyh.ttc)作为显示效果。需要将该字体文件与代码存放在同一目录下,或在字体文件名前加上完整路径。
import jieba
from wordcloud import WordCloud
txt='程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定的规则、组织计算机指令,使得计算机能够自动进行各种运算处理'
words=jieba.lcut(txt)
newtxt=' '.join(words)
# 字体.ttc 为字体格式文件
wordcloud=WordCloud(font_path='字体.ttc').generate(newtxt)
wordcloud.to_file('Chinese.png')

在这里插入图片描述


  • Wordcloud库的核心是WordCloud类,所有的功能都封装在WordCloud类中。
  • 使用时需要实例化一个WordCloud类的对象,并调用generate(text)方法将text文本转化为词云。
  • WordCloud在创建时有一系列可选参数,用于配置词云图片。
参数功能
font_path指定字体文件的完整路径,默认None
width生成图片宽度,默认400像素
height生成图片高度,默认200像素
mask词云形状,默认None,即方形图
min_font_size词云中最小的字体字号,默认4号
font_step字号步进间隔,默认1
max_font_size词云中最大的字体字号,默认None,根据高度自动调节
max_words词云图中最大词数,默认200
stopwords被排除词列表,排除词不再词云中显示
background_color图片背景色,默认黑色
  • WordCloud类的常用方法
方法功能
generate(text)由text文本生成词云
to_file(filename)将词云图保存为名为filename的文件
import jieba
from wordcloud import WordCloud
from scipy.misc import imread
f=open('文本文件.txt','r',encoding='utf-8')
txt=f.read()
txt=' '.join(jieba.lcut(txt))
mask=imread('读取图片名称.png')
wordcloud=WordCloud(background_color='white',\
                    width=800\
                    height=600\
                    max_words=100\
                    max_font_size=80\
                    font_path='字体文件.ttc',\

                    mask=mask).generate(txt)
wordcloud.to_file('输出图片.jpg')

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值