【Python】学习笔记——-14、常用第三方模块

轩小陌的Python笔记-day14 自定义模块、第三方模块、内置模块(部分) day14 模块 课程目标:掌握Python中常用模块的使用方法。 今日概要: 自定义模块(包) 第三方模块 内置模块【1/2】 1. 自定义模块 1.1 模块和包 import hashlib def encrypt(data): """ 数据加密 """ hash_object = hashlib.md5() hash_object.update(data.encode('utf-8')) return hash_object.hexdigest() use 阅读详情

除了内建的模块外,Python还有大量的第三方模块。

基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装。

本章介绍常用的第三方模块。


PIL

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

安装Pillow

在命令行下直接通过pip安装:

$ pip install pillow

如果遇到Permission denied安装失败,请加上sudo重试。

操作图像

来看看最常见的图像缩放操作,只需三四行代码:

from PIL import Image

# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')

其他功能如切片、旋转、滤镜、输出文字、调色板等一应俱全。

比如,模糊效果也只需几行代码:

from PIL import Image, ImageFilter

# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

效果如下:

PIL-blur

PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图。比如要生成字母验证码图片:

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 随机字母:
def rndChar():
    return chr(random.randint(65, 90))

# 随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')

我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片如下:

验证码

如果运行的时候报错:

IOError: cannot open resource

这是因为PIL无法定位到字体文件的位置,可以根据操作系统提供绝对路径,比如:

'/Library/Fonts/Arial.ttf'

要详细了解PIL的强大功能,请请参考Pillow官方文档:

https://pillow.readthedocs.org/

小结

PIL提供了操作图像的强大功能,可以通过简单的代码完成复杂的图像处理。

参考源码

https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_resize.py

https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_blur.py

https://github.com/michaelliao/learn-python3/blob/master/samples/packages/pil/use_pil_draw.py


day14-模块和内置模块 本文主要介绍了Python中模块与包的使用方法,包括自定义模块、第三方模块和内置模块的导入与管理规范。首先,文章解释了模块和包的概念,模块是一个py文件,而包是包含多个py文件的文件夹。接着,详细说明了如何导入模块和包,包括导入路径的设置和导入方式(如import和from...import)。此外,还介绍了相对导入和导入别名的使用,强调了相对导入只能在包中的py文件中使用。通过这些内容,读者可以掌握Python中模块与包的基本使用方法,提升代码的组织和重用性。 阅读详情

相关推荐

abaqus安装python第三方程序包/模块示意

abaqus安装python第三方程序包/模块示意 写在前面 abaqus是一个重要的有限元软件,功能强大,但在进行参数分析时,如果没有程序的帮助,重复的劳动量是痛苦的。有时,abaqus需要运用excel来承接程序,这时就需要用到像openpyxl这样的第三方程序包,如何安装呢,通过实验,这边给出我自己的做法。 0.确定自己的版本和系统: 以我为例: abaqus版本是6.14-2 操作系统是w...

weixin_46229249的博客 1万+

Python入门教程:史上最齐全的第三方模块库

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

白帽阿叁的博客 2739

ubuntu下python第三方模块的安装

接触python应该有大半年了,不过之前都是在windows下写的python程序,coding过程中需要用到python的第三方模块的时候基本上都是在网上找,然后进行安装。在这个网站上http://www.lfd.uci.edu/~gohlke/pythonlibs/基本能找到所有常见的python模块,都是可执行文件,直接安装即可。 不过自从半年前开始使用ubuntu之后,越发觉得这个操

♂♂♂stridehuan♂♂♂ 6282

python第三方工具包有哪些,python第三方模块有哪些

💻 大家好,我是哈桑c。本文为大家介绍 Python 中有趣的第三方库,希望大家看完有所收获pythonturtle画递归树。💾 以上就是关于 Python 一些简单实用的第三方库的介绍啦。希望对大家有所帮助。

Fixf4556的博客 2686

DDR的Controller、Channel、Chip、Rank、Bank、Row、Column、Sided、Dimm

DDR的Controller、Channel、Chip、Bank、Rank、Row、Column、Sided、Dimm

张飞online博客 2万+

Hypermesh2021实战:塑料圆盘结构化网格划分全流程(附避坑指南)

本文详细介绍了使用Hypermesh2021进行塑料圆盘结构化网格划分的全流程操作,包括几何预处理、网格生成策略及质量验证。特别针对工程实践中常见的12个典型问题提供解决方案,帮助用户提升CAE仿真分析的精度和效率。

weixin_29294597的博客 319

收藏!Python常用的第三方模块,你知道几个呢?

本文介绍了常用的第三方Python模块,涵盖了数据处理、网络请求、数据可视化以及自动化工具等领域.通过具体的示例展示了如何使用这些模块,帮助读者更好地理解它们的功能和用法.这些模块在不同的应用场景中都能提供极大的便利,是python开发者必备的工具.想了解更多编程精彩知识内容,请关注我的微信公众号:python小胡子!!

python茶水实验室 721

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1240

Python开发常用的三方模块如下:

这些库涵盖了Web开发、数据科学、机器学习、网络爬虫、自动化测试、文档生成、持续集成等多个领域。Python 是一门功能强大的编程语言,拥有丰富的第三方库,这些库为开发者提供了极大的便利。58、Flask-SQLAlchemy,Flask的SQLAlchemy扩展。76、Flask-RESTful,Flask的REST API框架。6、TensorFlow,由Google开发的开源机器学习库。57、Django ORM,Django的对象关系映射器。39、PyMongo,MongoDB的Python驱动。

wangbo_angel的博客 1587

YOLOv8改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块,我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个类别的数据集,其在轻量网络结构的同时,却能够提高一定的mAP精度,所以这是一种十分高效的模块,该网络结构非常适合那些模型精度已经无法提到,想要从轻量化模型的角度入手的读者使用。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。

Snu77的博客 6094

Android 自动亮度

/则需要从BrightnessConfigure类中读取两个数组源:config_autoBrightnessLevels和config_autoBrightnessDisplayValuesNits。) 或知道其在DisplayPowerController()构造的时候初始化的。曲线设置好了,就应该扔代码里跑起来,模型建起来了,这个过程是咋样的呢?//它将负责曲线的创建,自动背光值的计算等。通过搜索配置关键词(

Android 1485

Python第三方模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。 模块的引入: 模块定义好后,我们可以使用 import 语句来引入模块,语法如下: import module1[, module2[,... moduleN]] 模块的概念: 1.每一个以扩展名py结

一起努力共同进步,为了未来一起奋斗吧! 1896

YOLOv11改进 | 特殊场景检测篇 | 利用图像去雾网络UnfogNet改进yolov11图像雾天检测能力(全网独家首发改进)

本文给大家带来的改进机制是利用UnfogNet超轻量化图像去雾网络,我将该网络结合YOLOv11针对图像进行去雾检测(也适用于一些模糊场景),我将该网络结构和YOLOv11的网络进行结合同时该网络的结构的参数量非常的小,我们将其添加到模型里增加的计算量和参数量基本可以忽略不计这是非常难得的,因为其也算是一种图像增强算法,同时本文的内容不影响其它的模块改进可以作为工作量凑近大家的论文里,非常的适用,图像去雾检测为群友最近提出的需要的改进。欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 1629

Python本人自学笔记(14)模块及常用的第三方模块

在Python中一个后缀为 .py 的 Python 文件就是一个模块模块中可以定义函数、类等模块也可以比年函数、类、变量等名称相冲突的问题模块不仅提高了代码的可维护性,同时还提高了代码的可重用性在给模块命名的时候要求全部用小写字母,多个单词之间使用下划线 ’_‘ 进行分隔如果自定义模块名称与系统内置模块名称相同,那么在导入时会优先导入自定义的模块模块分为系统内置模块:由开发人员编写好的模块,在安装Python解释器时一同安装成计算机。

qq_63670862的博客 1458

acados安装与调试指南:版本兼容性问题

在计算机编程领域,软件工具和库的安装与调试是每个开发者必经的挑战。最近,在安装和使用acados库时,我遇到了一个有趣的问题,这里我将详细分享我的经验和解决方案。

m0_62153576的博客 740

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python学习笔记(14)-安装第三方模块

一,简介Python中所谓的第三方模块其实就是别人(或者说别的公司)提供的写好的模块。Python生态环境很强,有很多可以用的第三方模块,所以Python程序员可以站在前辈的肩膀上,俯瞰地球,仰望星空。OK,安装第三方的模块可以使用 pip工具,pip就像苹果的应用商店,而且是免费的应用商店,可以自动的下载第三方模块。二,使用说明需要恭喜看官的是,因为第三方模块是如此的重要,所以在学习笔记刚开始安装

编程副队长 1640

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

深入浅出:Python 常用第三方模块

Python 之所以广受欢迎,部分原因在于其丰富的标准库和庞大的第三方模块生态系统。这些模块为开发者提供了各种各样的功能,从网络编程到数据处理,从机器学习到图形界面开发,几乎涵盖了所有领域。

软件架构师笔记 1133

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Python】【整理】廖雪峰Python教程代码整理—— 14、常用第三方模块

14 常用第三方模块 文章目录14 常用第三方模块14.1 Pillow操作图像14.2 requests 14.1 Pillow 操作图像 缩放: from PIL import Image # 打开一个jpg图像文件,注意是当前路径: im = Image.open('test.jpg') # 获得图像尺寸: w, h = im.size print('Original image size...

qq_38866586的博客 398

python常用模块大全

python常用模块大全

sea_HH的博客 8374

Python常用的20个模块

这些模块覆盖了从文件操作、网络请求、数据处理到日志记录等各个方面的功能。掌握这些模块的使用方法,可以大大提高你的开发效率。

zhang120529的博客 1656

想做Python开发,这14种常用Python模块,你必须知道!

一、模块介绍 1. 定义: 模块:本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test) 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 2. 语法: • import 语句 当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。 导入模块: 1、 import ...

python学习者的博客 1967

14python模块

python模块和包、导入、内置模块

qq_37755459的博客 1241

Python 常用第三方模块-psutil

用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如pstopfree等等。要获取这些系统信息,Python可以通过subprocess模块调用并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。在Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 921

想做Python开发,这14种常用Python模块,你必须知道!_开发python模块

元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。导入模块就是:找到.py文件的位置,把它执行一遍,从哪里找呢?

2301_82242650的博客 1158
上一篇: 【Python】学习笔记——-13、常用内建模块
下一篇: 【Python】学习笔记——-15、virtualenv
白衣染霜陈
博客等级 码龄22年 682粉丝 338原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值