当前位置: 首页 > 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; 将每个条件分…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...