当前位置: 首页 > news >正文

盘点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 库&#xff08;获取手机号码信息&#xff09;2、geoip2 库&#xff08;IP 检测功能&#xff09;3、freegames 库&#xff08;免费小游戏&#xff09;4、jionlp 库&#xff08;解析地址信息&#xff09;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日凌晨&#xff0c;OpenAI震撼发布了多模态预训练大模型 GPT-4。 根据官网发布的通告可以知道&#xff0c;GPT-4 实现了以下几个方面的飞跃式提升&#xff1a;强大的AI创作识图能力&#xff1b;文字输入限制提升至 2.5 万字&#xff1b;回答准确性显著提高&#xff1b;能够…...

二叉搜索树:AVL平衡

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

数据结构和算法(1):数组

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

python+django+vue全家桶鲜花商城售卖系统

重点&#xff1a; &#xff08;1&#xff09; 网上花店网站中各模块功能之间的的串联。 &#xff08;2&#xff09; 网上花店网站前台与后台的连接与同步。 &#xff08;3&#xff09; 鲜花信息管理模块中鲜花的发布、更新与删除。 &#xff08;4&#xff09; 订单…...

一文带你领略 WPA3-SAE 的 “安全感”

引入 WPA3-SAE也是针对四次握手的协议。 四次握手是 AP &#xff08;authenticator&#xff09; 和 &#xff08;supplicant&#xff09;进行四次信息交互&#xff0c;生成一个用于加密无线数据的秘钥。 这个过程发生在 WIFI 连接 的 过程。 为了更好的阐述 WPA3-SAE 的作用 …...

Python解题 - CSDN周赛第38期

又来拯救公主了。。。本期四道题还是都考过&#xff0c;而且后面两道问哥在以前写的题解里给出了详细的代码&#xff08;当然是python版&#xff09;&#xff0c;直接复制粘贴就可以过了——尽管这样显得有失公允&#xff0c;考虑到以后还会出现重复的考题&#xff0c;所以现在…...

Android绘制——自定义view之onLayout

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

用Qt画一个温度计

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

Java设计模式 04-建造者模式

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

安语未公告于2023年3月20日发布

因一些特殊原因&#xff0c;凡事都是有开始&#xff0c;高潮和结束三大过程&#xff0c;做出以下决定&#xff1a; 所有对 安语未文章 为之热爱、鞭策、奉献&#xff0c;和支持过的开发者&#xff1a; 注&#xff1a;所有资源以及资料都会正常下载和查看 如需联系&#xff1…...

进销存是什么?如何选择进销存系统?

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

基于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. 专栏导读 &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;Python领域优质创作者、CSDN/华为云/阿里云/掘金…...

【Java】UDP网络编程

文章目录前言DatagramSocketDatagramPacket注意事项与区别代码演示前言 UDP&#xff08;user datagram protocol&#xff09;的中文叫用户数据报协议&#xff0c;属于传输层。 UDP是面向非连接的协议&#xff0c;它不与对方建立连接&#xff0c;而是直接把我要发的数据报发给对…...

Springboot源代码总结

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

JVM监控搭建

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

java中如何优化大量的if...else...

目录 策略模式&#xff08;Strategy Pattern&#xff09; 工厂模式&#xff08;Factory Pattern&#xff09; 映射表&#xff08;Map&#xff09; 数据驱动设计&#xff08;Data-Driven Design&#xff09; 策略模式&#xff08;Strategy Pattern&#xff09; 将每个条件分…...

24. linux系统基础

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

【C++】面试101,二叉搜索树的最近公共祖先,在二叉树中找到两个节点的最近公共祖先,序列化二叉树,重建二叉树,输出二叉树的右视图,组队竞赛,删除公共字符

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

Java常见面试题及解答

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

【Docker】镜像的原理定制化镜像

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

国内版的ChatGPT弯道超车的机会在哪里?

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

【字符串】

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

前言 环境介绍&#xff1a; 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文件之后&#xff0c;理论上…...

Java之类与对象(图文结合)

目录 一、面向对象的初步认知 1、什么是面向对象 2、面向对象与面向过程 二、类定义和使用 1、简单认识类 2、类的定义格式 3、练习 &#xff08;1&#xff09;定义一个狗类 &#xff08;2&#xff09;定义一个学生类 三、类的实例化 1、什么是实例化 2、类和对象的…...

基于 VCS-NLP 的动态低功耗仿真验证介绍

&#x1f525;点击查看精选 IC 技能树系列文章&#x1f525; &#x1f525;点击进入【芯片设计验证】社区&#xff0c;查看更多精彩内容&#x1f525; &#x1f4e2; 声明&#xff1a; &#x1f96d; 作者主页&#xff1a;【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#…...

ESP32-S3 自带usb/jtag初步尝试体验

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