草庐IT

盘点Python那些简单实用的第三方库

哈桑c 2023-04-22 原文

文章目录

前言

💻 大家好,我是哈桑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 jionlp

my_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 ImageWriter

print(barcode.PROVIDED_BARCODES)    #查看 python-barcode支持的条形码格式

EAN = barcode.get_barcode_class('ean13')  #创建ean13格式的条形码格式对象

ean = EAN('5901234123662',writer=ImageWriter())  #创建条形码对象,内容为5901234123457

fullname = ean.save('./test')  #保存条形码图片,并返回保存路径。

print(fullname)

运行结果:(test.png 文件)

7、pywhatkit 库(生成手写体)

PyWhatKit 是一个具有各种有用功能的 Python 库。其中包括发送 WhatApp 消息、播放 YouTube 视频、执行谷歌搜索,索取指定主题信息以及将文本转换为手写文本图像等,本文演示的是生成手写体的功能。

点击跳转 github 网站

代码示例:

import pywhatkit

my_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  pyttsx3

engine = 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 stylecloud

stylecloud.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 Converter

pdf_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那些简单实用的第三方库的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  3. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  4. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  5. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  6. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  7. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  8. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  9. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  10. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

随机推荐