目录
引言
欢迎各位大佬垂阅本篇Python实践博客,来到这儿,你已经超越%89.60的Python入门学习者啦~
前面的博客,我们学习了Python的数据类型、判断、循环、函数等知识点。你是否会有这样的疑问:这些简单的代码有些什么实际的应用呢?基于这一些基础语法,再结合前人搭建的开源模块,我们能用Python解决很多实际问题。
接下来的两篇博客,我们来通过图片处理操作,来解决一个困扰小栗子的难题。小栗子最近绘制了一些插画,想将它们分享到各大平台,但又担心这些插画被他人盗用,那有什么好的办法能帮助小栗子来解决这个难题呢?
其实,我们可以利用通过第三方提供的pillow模块,给插画添加指定的水印,这个过程需要以下六个步骤:1、安装模块 2、打开图片 3、展示图片 4、加载字体 5、绘制文字 6、保存图片
今天,我们来学习前面三个步骤。
前面,我们学习了Python自带的内置模块。今天,我们来学习第三方模块的知识。由于系统学习一个第三方模块,会花费不少时间。因此,为了尽快在本地感受第三方模块的魅力,这里我们以相对简单的pillow
模块进行讲解。
目标
pillow
模块是一个第三方图像处理模块,主要用于图像的基本处理。接下来的两篇博客,我们将利用pillow
模块给图片添加自己想要的水印。
本篇,我们先来学习如何利用pillow
模块,打开并展示出一张图片。
安装模块
pillow
模块是第三方模块,在导入使用前,必须先进行安装。下面,我们以pillow
为例,来看看如何安装第三方模块。
为了安装第三方模块,我们需要一个叫做pip
的工具。而pip
工具,在我们前面安装Python环境的时候,已经自动安装了。现在,我们可以直接在电脑上使用pip
工具来安装第三方模块。大家可以在自己的电脑上跟着一起完成安装
Windows系统
要使用pip
工具安装第三方模块,需要在Windows的命令提示符(终端)里进行。我们可以使用以下两种方式之一打开终端:
- 在电脑的「开始菜单」旁的搜索栏里输入 cmd 后,敲击回车;
2. 同时在键盘上按下WIN和R,在运行框里输入 cmd 后,敲击回车。
打开窗口,并且确保电脑已经连入互联网后,就可以开始安装第三方模块了。比如,我们要安装pillow
模块。只需要在窗口内输入: pip install pillow
,然后敲击回车。
安装过程如图。点击回车后,会出现很多的安装信息。当看到Successfully installed...
时,说明模块已经安装成功。
大家还可能会遇到黄色的警告,这是在提示需要升级pip工具。可以选择忽视。
若在自己电脑上安装不上或安装缓慢,可使用以下命令进行加速:pip install pillow==9.1.0 -i https://pypi.mirrors.ustc.edu.cn/simple/
macOS系统
要使用pip
工具安装第三方模块,需要在macOS的终端里进行。我们可以使用以下两种方式之一打开终端:
-
我们在启动台中找到并打开【其他】,点击【终端】图标;
-
Command + 空格键跳出搜索框,输入ter按回车即可打开终端。
打开终端窗口,并且确保电脑已经连入互联网后,就可以开始安装第三方模块了。比如,我们要安装pillow
模块。只需要在窗口内输入: pip3 install pillow
,然后敲击回车。
安装过程如图。点击回车后,会出现很多的安装信息。当看到Successfully installed...
时,说明模块已经安装成功。大家还可能会遇到黄色的警告,这是在提示需要升级pip工具,可以选择忽视。
若在自己电脑上安装不上或安装缓慢,可使用以下命令进行加速:pip3 install pillow -i https://pypi.mirrors.ustc.edu.cn/simple/
路径
模块安装后,就可以导入使用了。而在我们使用pillow
模块去打开图片前,我们需要知道该图片在电脑中的位置。而这个位置就是 -- 路径。
定义 :路径表示文件或者文件夹的位置。
隐喻 :路径就像现实中的地址一样,帮助我们找到目标文件或文件夹在什么位置。
Windows路径
现在我们常用的计算机系统分为 Windows系统 和 macOS系统。在Windows系统的路径中,我们使用反斜线 ( \ ) 分隔各个文件夹和文件名。同时,在路径的最前面,是盘符的字母和英文冒号,表示文件或文件夹在哪个盘的路径下。
注意:盘符就是电脑里的C盘、D盘的字母C和D。
macOS路径
在macOS系统中,文件夹和文件名使用正斜线 ( / ) 进行分隔。由于macOS系统中没有盘符的概念,所以其路径都是从根目录( / ) 开始。
注意:根目录是指最上一级目录,它如同一棵大树的"根"一般,所有的文件和文件夹都以它为起点。
windows路径报错
如图,当我们输出Windows系统的路径时,会出现报错。而引起这个错误的原因就是转义的问题。在Windows系统中,读取文件路径使用反斜线 ( \ )。但是在Python字符串中,反斜线 ( \ )有转义的含义,比如:\n
代表换行。
windows路径前的r
解决反斜线 ( \ )转义的问题,有一个常用的办法。就是在路径前面加字母**r
**,表示保持字符的原始值。
比如**r"C:\Users\photo.jpg"
**
示例代码
示例代码中,展示了macOS
系统和Windows
系统中路径的使用方法。
python
# 将文件路径/Users/photo.jpg,赋值给macOS_path
macOS_path = "/Users/photo.jpg"
# 将文件路径C:\Users\photo.jpg,赋值给Windows_path
Windows_path = r"C:\Users\photo.jpg"
# 输出变量macOS_path
print(macOS_path)
# 输出变量Windows_path
print(Windows_path)
windows快速查看路径
这里提供Windows快速获取路径的两种方法:
-
按下Shift 键不放,然后对应文件上单击右键 ,选择【 复制文件地址 】即可得快速得到路径;
-
将对应文件拖入终端,即可快速得到路径。(注意,在键盘上按下WIN和R,在运行框里输入 cmd 后,敲击回车打开终端。)
macOS快速查看路径
这里提供macOS快速获取路径的两种方法:
-
找到文件,使用快捷键
option+command+c
; -
将对应文件拖入终端,即可快速得到路径。(注意,Command + 空格键跳出搜索框,输入ter按回车即可打开终端。)
打开图片
安装完模块,学习完路径后,我们就可以使用pillow
模块来打开图片了。下面,我们就来学习如何打开一张指定路径的图片。
通过导入Image类,然后使用该类中的open()
方法,打开一张图片。
python
# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开图片,赋值给变量img
img = Image.open("/Users/yequ/team.png")
从模块中导入类
使用from ... import
语句,从PIL模块中导入了类Image
。注意,pillow模块比较特殊,需要使用PIL
的简写形式。
类名
类名Image
,表明接下来要调用Image类中的方法。
句点
用于连接类名和方法名。
方法
类中的open()方法,作用是打开指定路径的图片。
对象名
变量img是通过类方法打开的一个图片对象。
展示图片
Image类中的open()
方法,用于打开图片。而展示图片,就需要用Image
中的show()
方法。通过导入Image类,然后使用该类中的open()
方法,打开一张图片。最后,通过该类中的show()
方法展示图片。
python
# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开图片,赋值给变量img
img = Image.open("/Users/yequ/team.png")
# 展示图片
img.show()
展示图片
直接在图片对象img
后使用show()
方法,展示图片。方法的调用语法为:对象.方法名()
下节预告
今天,我们通过导入模块打开并展示了图片。下次,我们将继续使用PIL模块中的其他类,来给图片添加水印,并将其保存在本地的电脑上。