盘点Python那些简单实用的第三方库
文章目录
- 前言
- 关于本文
- 使用 pip 命令下载第三方库
- 1、phone 库(获取手机号码信息)
- 2、geoip2 库(IP 检测功能)
- 3、freegames 库(免费小游戏)
- 4、jionlp 库(解析地址信息)
- 5、pyqrcode 库(生成二维码)
- 6、barcode 库(生成条形码)
- 7、pywhatkit 库(生成手写体)
- 8、pyttsx3 库(文字转音频)
- 9、pyautogui 库(控制鼠标和键盘)
- 10、cowpy 库(简易的画图工具)
- 11、stylecloud 库(词云生成库)
- 12、psutil 库(监视系统底层信息)
- 13、pdf2docx 库(pdf 文件转 word 文档)
- 14、mimesis 库(生成假数据)
- 15、modernize 库(py2 代码转换为 py3 代码)
- 16、rembg 库(一键抠图)
- 17、captcha 库(生成验证码)
- 结语
前言
💻 大家好,我是哈桑c。本文为大家介绍 Python 中有趣的第三方库,希望大家看完有所收获。
关于本文
关于本文中介绍的所有的第三方库,笔者并不会每一个都进行详细的介绍,因为如果都一一进行介绍的话整篇文章就显得太啰嗦了。所有更多还是针对这些库的要点进行讲解,关于更多的用法大家可以到文中给出的官方或 github 网址进行更多的了解,本文只起到一个介绍和引导作用。
使用 pip 命令下载第三方库
以 Windows10 为例,可以按住 win + R 键输入 cmd 打开命令行窗口,输入 pip install xxx 命令下载我们需要的 Python 第三方库。
示例如下:
如果部分库下载不成功或者下载速度太慢的话,可以使用镜像源下载,以阿里源为示例:
pip install xxx -i https://mirrors.aliyun.com/pypi/simple
没有报错的话就是安装成功了。
1、phone 库(获取手机号码信息)
phone 是 Python 的一个第三方库,开发者可以通过输入手机号码来获取该号码的归属地、区号以及运营商等信息,使用方法十分简单。
点击跳转 github 网站
代码示例:
from phone import Phone#实例化phone对象
phone_obj = Phone() # 使用find方法解析电话号码
res = phone_obj.find("13366668888")print(res)
运行结果:
2、geoip2 库(IP 检测功能)
geoip2 库为广泛的应用程序提供了 IP 地理定位和代理检测功能。开发者可以在 Python 中下载好 geoip2 第三方库,直接导入即可使用。
点击跳转官方网站
代码示例:
from geoip2.database import Reader# 导入GeoLite2-City.mmdb文件
reader = Reader("./GeoLite2-City.mmdb")# 使用city方法解析百度知道的ip地址(公开),获取result响应对象
my_ip = "202.108.22.103"
result = reader.city(my_ip)print(result)
运行结果:
注意程序中的 GeoLite2-City.mmdb 文件可以到官网上去下载最新版。当然如果不要求是最新版的文件的话,也可以像笔者一样直接去 github 上下载一个。
3、freegames 库(免费小游戏)
freegames 库是一个 Apache2 授权的免费 Python 游戏集,旨在教育和娱乐。这些游戏是用简单的 Python 代码编写的,旨在进行实验和更改。几个经典街机游戏的简化版本包括在内。
点击跳转 github 网站
代码示例:
# freegames库安装成功之后,可以使用os库运行终端命令。
import os # 查看所有游戏名称
os.system("python -m freegames list")# 运行指定游戏
os.system("python -m freegames.connect")
运行结果:
4、jionlp 库(解析地址信息)
JioNLP 是一个面向 NLP(自然语言处理)开发者的工具包,提供 NLP 任务预处理、解析功能,准确、高效、零使用门槛。当我们拿到完整的地址信息,但想要从地址信息中解析出指定的单元信息时,就可以使用 jionlp 库。
点击跳转 github 网站
代码示例:
import jionlpmy_address = "北京市东城区景山前街4号"# 使用 jionlp.parse_location 解析地址
result = jionlp.parse_location(my_address, town_village=True)print(result)
运行结果:
5、pyqrcode 库(生成二维码)
qrcode 是 Python 的一个用于生成 QRCode (快速响应码,也是二维码的一种)的开源第三方库。使用该库时,可以使用快捷的 make 方法生成指定文本内容的二维码。
点击跳转 github 网站
代码示例:
import qrcode# 指定扫描二维码后显示的信息
data = '鸡你太美'# 使用make方法创建二维码
img = qrcode.make(data)# 显示图片格式,输出 <class 'qrcode.image.pil.PilImage'>
print(type(img))# 保存图片
img.save("test1.png")
运行结果:(test1.png 文件)
二维码放不上来,违规了。
6、barcode 库(生成条形码)
python-barcode 提供了一种在 Python 中创建条形码的简单方法。生成 SVG 文件时也不需要外部依赖关系,同时还支持生成多种格式的条形码。
点击跳转 github 网站
代码示例:
import barcode
from barcode.writer import ImageWriterprint(barcode.PROVIDED_BARCODES) #查看 python-barcode支持的条形码格式EAN = barcode.get_barcode_class('ean13') #创建ean13格式的条形码格式对象ean = EAN('5901234123662',writer=ImageWriter()) #创建条形码对象,内容为5901234123457fullname = ean.save('./test') #保存条形码图片,并返回保存路径。print(fullname)
运行结果:(test.png 文件)
7、pywhatkit 库(生成手写体)
PyWhatKit 是一个具有各种有用功能的 Python 库。其中包括发送 WhatApp 消息、播放 YouTube 视频、执行谷歌搜索,索取指定主题信息以及将文本转换为手写文本图像等,本文演示的是生成手写体的功能。
点击跳转 github 网站
代码示例:
import pywhatkitmy_text = """A child was careless ramie stabbed, he rushed home and told his mother: I only lightly Pengyi what, it was my painful thorns.Mom said: Because of this, it will thorn you. if the next time you met Ramie, to a courageous and seize it,it will be in your hands become soft as silk, you will no longer be stabbed.It is said that many people are serving hard against soft."""pywhatkit.text_to_handwriting(my_text, "test2.png", (30, 30, 150))
运行结果:(test2.png 文件)
8、pyttsx3 库(文字转音频)
pyttsx3 是 Python 中的文本到语音转换库。与其他库不同,pyttsx3 库支持脱机工作。
点击跳转 github 网站
代码示例:
import pyttsx3engine = pyttsx3.init() # 初始化引擎
engine.say('Hello,world') # 指定需要读取的文本
engine.runAndWait()
运行上例代码,电脑就会读出 Hello,world,同时 pyttsx3 库也支持读取中文。
9、pyautogui 库(控制鼠标和键盘)
PyAutoGUI 允许 Python 脚本控制鼠标和键盘,以自动化与其他应用程序的交互。API 的设计非常简单。PyAutoGUI 适用于 Windows 、macOS 和Linux ,并运行在 Python2 和3上。
点击跳转官方网站
代码示例:
import pyautogui#获取主显示器的大小。
screenWidth, screenHeight = pyautogui.size() print(f"显示器的宽度为:{screenWidth}")
print(f"显示器的高度为:{screenHeight}")
运行结果:
10、cowpy 库(简易的画图工具)
cowsay 是一个生成 ASCII 图片的程序,可以显示一只奶牛的界面。它也可以使用预先制作的图像,以生成其他动物的图片,如 Linux 的吉祥物企鹅。由于它是用 Perl 语言编写的,它也适用于其他系统,如微软的 Windows 。
点击跳转 github 网站
代码示例:
from cowpy import cow# 创造一头奶牛
cheese = cow.Moose()# 通过挤牛奶来获取cowsay信息
msg = cheese.milk("My witty mesage")# 打印输出msg
print(msg)
运行结果:
11、stylecloud 库(词云生成库)
stylecloud 是一款可以制作个性化词云图的 Python 库。它利用了流行的 word_cloud 包,添加了有用的功能来创建真正独特的单词云! 是一个操作简单,可直接调用的 Python 库。
点击跳转 github 网站
代码示例:
import stylecloudstylecloud.gen_stylecloud(file_path='./replay.txt',icon_name="fas fa-apple-alt")
replay.txt 文件:
Twilight west, leaving a touch of sadness. Half curtain in the
sunset, drunk dizzy stars, the moon hidden mountain. A willow
falling back of the shadow of the lonely slide into the mountain
bend, quietly sleep. In the haze of smoke, the years pass in a
hurry, chasing a round of dreams far away. Half a wall, two blocks
of the city, the firefly fragrance of night.Cut a period of years,
write a past, time in the wind and moon lingering, light as Zen.
运行结果:
12、psutil 库(监视系统底层信息)
psutil 是 Python 的一个跨平台的系统信息库,用于在 Python 中检索正在运行的进程和系统利用率( CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监控、分析和限制进程资源以及管理正在运行的进程。
点击跳转 github 网站
代码示例:
import psutil# 获取CPU的核心数
cpu_count = psutil.cpu_count(logical=True)# 获取CPU使用频率
cpu_frequency = psutil.cpu_percent(interval=1, percpu=True)print(f"CPU逻辑核心数为: {cpu_count}")
print(f"CPU使用率为: {cpu_frequency}")
运行结果:
13、pdf2docx 库(pdf 文件转 word 文档)
Pdf2docx 是一个 PDF 转 Word 的 Python 库。是使用 PyMuPDF 从 PDF 中提取数据,例如文本,图像和 drawingsParse 布局规则以及节,段落,图像和表格,然后使用 python-docx 生成 docx 。
点击跳转 github 网站
代码示例:
from pdf2docx import Converterpdf_file = './Example.pdf'
docx_file = './Example.docx'# 转换为 docx 格式文件
cv = Converter(pdf_file)
cv.convert(docx_file, start=0, end=None)
cv.close()
运行结果:
成功转换为 word 文件了。
14、mimesis 库(生成假数据)
mimesis 是一款 Python 的高性能伪数据生成器库,它以各种语言为各种目的提供数据。假数据可以用来填充测试数据库,创建假 API 端点,创建任意结构的 JSON 和 XML 文件,匿名化生产数据等等。
点击跳转 github 网站
代码示例:
from mimesis import Person
from mimesis.locales import Locale# 指定语言
person = Person(Locale.EN)# 生成一个完成的名字
full_name = person.full_name() # 生成指定格式电子邮箱
my_email = person.email(domains=["example.com"])print(full_name)
print(my_email)
运行结果:
15、modernize 库(py2 代码转换为 py3 代码)
moderni 是一个 Python 第三方库,用于读取 Python2 源代码,并应用一系列修复器将其转换为在 Python 3 和 Python 2.7 上都有效的源代码。
点击跳转 github 网站
代码示例:
# Python2的代码(test2.py文件)
print '3 / 2 =', 3 / 2
import os # 执行终端命令
os.system("python -m modernize -w test2.py")
运行结果:(test2.py 文件的 python2 代码已经转换为 python3 代码)
16、rembg 库(一键抠图)
Rembg 是一个删除图像背景的工具的 Python库。有了 rembg 库再搭配 Python 程序,我们就可以做到批量的抠图。
点击跳转 github 网站
代码示例:
import os os.system("rembg i ./input.jpg ./output.png")
原文件:
运行结果:
17、captcha 库(生成验证码)
captcha 是 Python 的一个生成 Laravel 验证码的库。只需要指定宽度、高度、字体和字体大小的参数就可以生成指定的验证码图片。
点击跳转 github 网站
代码示例:
# 导包
# 导包
from captcha.image import ImageCaptcha
from PIL import Image
import random
import string# 定义图片对象
image = ImageCaptcha()# 获取字符串
captcha_text = "".join(random.sample(string.ascii_letters, 4))# 生成图像
captcha_image = Image.open(image.generate(captcha_text))# 存储图片
captcha_image.save('./ver_code.png')
运行结果:
结语
💾 以上就是关于 Python 一些简单实用的第三方库的介绍啦。希望对大家有所帮助。感谢大家的支持。
相关文章:

盘点Python那些简单实用的第三方库
文章目录前言关于本文使用 pip 命令下载第三方库1、phone 库(获取手机号码信息)2、geoip2 库(IP 检测功能)3、freegames 库(免费小游戏)4、jionlp 库(解析地址信息)5、pyqrcode 库&a…...

leetCode热题21-26 解题代码,调试代码和思路
前言 本文属于特定的六道题目题解和调试代码。 1 ✔ [160]相交链表 Easy 2023-03-17 171 2 ✔ [54]螺旋矩阵 Medium 2023-03-17 169 3 ✔ [23]合并K个排序链表 Hard 2022-12-08 158 4 ✔ [92]反转链表 II Medium 2023-03-01 155 5 ✔ [415]字符串相加 Easy 2023-03-14 150 6 …...

ChatGPT推出第四代GPT-4!不仅能聊天,还可以图片创作!
3月15日凌晨,OpenAI震撼发布了多模态预训练大模型 GPT-4。 根据官网发布的通告可以知道,GPT-4 实现了以下几个方面的飞跃式提升:强大的AI创作识图能力;文字输入限制提升至 2.5 万字;回答准确性显著提高;能够…...

二叉搜索树:AVL平衡
文章目录一、 二叉搜索树1.1 概念1.2 操作1.3 代码实现二、二叉搜索树的应用K模型和KV模型三、二叉搜索树的性能分析四、AVL树4.1 AVL树的概念4.2 AVL树的实现原理4.3 旋转4.4 AVL树最终代码一、 二叉搜索树 1.1 概念 二叉搜索树( Binary Search Tree,…...

数据结构和算法(1):数组
目录概述动态数组二维数组局部性原理越界检查概述 定义 在计算机科学中,数组是由一组元素(值或变量)组成的数据结构,每个元素有至少一个索引或键来标识 In computer science, an array is a data structure consisting of a col…...

python+django+vue全家桶鲜花商城售卖系统
重点: (1) 网上花店网站中各模块功能之间的的串联。 (2) 网上花店网站前台与后台的连接与同步。 (3) 鲜花信息管理模块中鲜花的发布、更新与删除。 (4) 订单…...

一文带你领略 WPA3-SAE 的 “安全感”
引入 WPA3-SAE也是针对四次握手的协议。 四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥。 这个过程发生在 WIFI 连接 的 过程。 为了更好的阐述 WPA3-SAE 的作用 …...
Python解题 - CSDN周赛第38期
又来拯救公主了。。。本期四道题还是都考过,而且后面两道问哥在以前写的题解里给出了详细的代码(当然是python版),直接复制粘贴就可以过了——尽管这样显得有失公允,考虑到以后还会出现重复的考题,所以现在…...

Android绘制——自定义view之onLayout
简介 在自定义view的时候,其实很简单,只需要知道3步骤: 测量——onMeasure():决定View的大小,关于此请阅读《Android自定义控件之onMeasure》布局——onLayout():决定View在ViewGroup中的位置绘制——onD…...

用Qt画一个温度计
示例1 以下是用Qt绘制一个简单的温度计的示例代码: #include <QPainter> #include <QWidget> #include <QApplication> class Thermometer : public QWidget { public:Thermometer(QWidget *parent 0); protected:void paintEvent(QPaintEvent …...

Java设计模式 04-建造者模式
建造者模式 一、 盖房项目需求 1)需要建房子:这一过程为打桩、砌墙、封顶 2)房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的. 3)请编写程序,完成需求. …...

安语未公告于2023年3月20日发布
因一些特殊原因,凡事都是有开始,高潮和结束三大过程,做出以下决定: 所有对 安语未文章 为之热爱、鞭策、奉献,和支持过的开发者: 注:所有资源以及资料都会正常下载和查看 如需联系࿱…...

进销存是什么?如何选择进销存系统?
什么是进销存?进销存软件概念起源于上世纪80年代,由于电算化的普及,计算机管理的推广,不少企业对于仓库货品的进货,存货,出货管理,有了强烈的需求,进销存软件的发展从此开始。 进入…...

基于BP神经网络的图像跟踪,基于BP神经网络的细胞追踪识别
目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络激活函数及公式 基于BP神经网络的细胞识别追踪 matab编程代码 效果 结果分析 展望 摘要 智能驾驶,智能出行是现代社会发展的趋势之一,其中,客量预测对智能出行至关重要,…...

Java面试总结篇
引用介绍 1.线程安全不安全的概念 线程安全: 指多个线程在执行同一段代码的时候采用加锁机制,使每次的执行结果和单线程执行的结果都是一样的,不存在执行程序时出现意外结果。 线程不安全: 是指不提供加锁机制保护,有可能出现多个线程先后更改数据造成所得到的数据是脏…...

100天精通Python(可视化篇)——第80天:matplotlib绘制不同种类炫酷柱状图代码实战(簇状、堆积、横向、百分比、3D柱状图)
文章目录0. 专栏导读1. 普通柱状图2. 簇状柱形图3. 堆积柱形图4. 横向柱状图5. 横向双向柱状图6. 百分比堆积柱形图7. 3D柱形图8. 3D堆积柱形图9. 3D百分比堆积柱形图0. 专栏导读 🏆🏆作者介绍:Python领域优质创作者、CSDN/华为云/阿里云/掘金…...

【Java】UDP网络编程
文章目录前言DatagramSocketDatagramPacket注意事项与区别代码演示前言 UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层。 UDP是面向非连接的协议,它不与对方建立连接,而是直接把我要发的数据报发给对…...

Springboot源代码总结
前言 编写微服务,巩固知识 文章目录 前言springboot原理springboot启动流程SpringBoot自动配置底层源码解析自动配置到底配了什么?自动配置类条件注解Starter机制@ConditionalOnMissingBeanSpringBoot启动过程源码解析构造SpringApplication对象SpringBoot完整的配置优先级s…...

JVM监控搭建
文章目录JVM监控搭建整体架构JolokiaTelegrafInfluxdbGrafanaJVM监控搭建 整体架构 JVM 的各种内存信息,会通过 JMX 接口进行暴露。 Jolokia 组件负责把 JMX 信息翻译成容易读取的 HTTP 请求。Telegraf 组件作为一个通用的监控 agent,和 JVM 进程部署在…...

java中如何优化大量的if...else...
目录 策略模式(Strategy Pattern) 工厂模式(Factory Pattern) 映射表(Map) 数据驱动设计(Data-Driven Design) 策略模式(Strategy Pattern) 将每个条件分…...

24. linux系统基础
两个进程间想通讯,必须要通过内核,今天讲的信号其实本质也是讲进程间通讯的意思,那么你为什么可以在shell环境下,可以和一个进程发kill-9啊? shell是不是相当于一个进程?你自己运行的那个进程是不是也相当于…...

【C++】面试101,二叉搜索树的最近公共祖先,在二叉树中找到两个节点的最近公共祖先,序列化二叉树,重建二叉树,输出二叉树的右视图,组队竞赛,删除公共字符
目录 1.二叉搜索树的最近公共祖先 2.在二叉树中找到两个节点的最近公共祖先 3.序列化二叉树 4.重建二叉树 5.输出二叉树的右视图 6.组队竞赛 7.删除公共字符 1.二叉搜索树的最近公共祖先 这是一个简单的问题,因为是二叉搜索树(有序)&am…...

Java常见面试题及解答
Java常见面试题及解答1 面向对象的三个特征2 this,super关键字3 基础数据类型4 public、protected、default、private5 接口6 抽象类6.1 抽象类和接口的区别7 重载(overload)、重写(override)8 final、finalize、final…...

【Docker】镜像的原理定制化镜像
文章目录镜像是什么UnionFS(联合文件系统)Docker镜像加载原理制作本地镜像 docker commit -m"提交的描述信息" -a"作者" 容器ID 要创建的目标镜像名:[标签名]案例演示ubuntu安装vim本地镜像发布到阿里云本地镜像发布到阿里云流程将本…...

国内版的ChatGPT弯道超车的机会在哪里?
前言 从去年11月最后一天ChatGPT诞生,截至目前,ChatGPT的热度可谓是爆了。众所周知,ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序,它是一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人…...

【字符串】
string1.char str[]类型fgets(s,10000,stdin) cin.getline(cin,10000) strlen(str)sizeof 求静态数组长度2.string类型getline(cin,a) cin.getline(cin,10000) str.lenth()str.size()cin 遇到空格就停止3.gets 函数char str[20];gets(str);4.puts 函数puts(str) 相当于 cout<…...

加载驱动之后无法在/dev/下生成vedio0
前言 环境介绍: 1.编译环境 Ubuntu 18.04.5 LTS 2.SDK orangepi Linux 5.4 SDK 3.uboot v2020.04 4.gcc gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 5.单板 orangepi pc plus 一、问题 继上一篇成功加载gc2035.ko文件之后,理论上…...

Java之类与对象(图文结合)
目录 一、面向对象的初步认知 1、什么是面向对象 2、面向对象与面向过程 二、类定义和使用 1、简单认识类 2、类的定义格式 3、练习 (1)定义一个狗类 (2)定义一个学生类 三、类的实例化 1、什么是实例化 2、类和对象的…...

基于 VCS-NLP 的动态低功耗仿真验证介绍
🔥点击查看精选 IC 技能树系列文章🔥 🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥 📢 声明: 🥭 作者主页:【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#…...

ESP32-S3 自带usb/jtag初步尝试体验
一、背景 最近在做一台小机器,设备初步规划使用几个实体按钮,这样方便用户戴手套操作。但因为设备有一些需要配置的参数,有需要配备屏幕。但是开发时间比较紧。考虑再三,决定先在初步配备一个简单的控制箱。控制箱上不带屏幕。后…...