Python 读取文件夹下的所有图片
介绍
在Python中,我们可以使用os
模块和PIL
(Python Imaging Library)库来读取文件夹下的所有图片。os
模块提供了操作文件和文件夹的功能,而PIL
库则用于处理图像。
在本文中,我们将学习如何使用这两个工具来读取文件夹下的所有图片,并将它们加载到Python中进行进一步的处理。
需求分析
我们的目标是读取一个文件夹下的所有图片文件,并将它们加载到Python中。为了实现这个目标,我们需要按照以下步骤进行操作:
- 获取文件夹路径
- 遍历文件夹下的所有文件
- 筛选出图片文件
- 加载图片文件到Python中
代码实现
步骤1:获取文件夹路径
首先,我们需要获取要读取的文件夹的路径。可以使用os
模块的listdir()
函数获取文件夹内的所有文件和文件夹的名称,然后使用os.path
模块的join()
函数将文件夹路径和文件名拼接起来。
import os
# 文件夹路径
folder_path = './images' # 请根据实际情况修改路径
步骤2:遍历文件夹下的所有文件
接下来,我们需要使用os.listdir()
函数获取文件夹内的所有文件和文件夹的名称,并遍历它们。
file_names = os.listdir(folder_path)
for file_name in file_names:
# 处理文件
pass
步骤3:筛选出图片文件
在遍历文件夹内的文件时,我们需要筛选出图片文件。可以通过检查文件的扩展名来判断它是否为图片文件。常见的图片文件扩展名包括.jpg
、.png
、.gif
等。
image_extensions = ['.jpg', '.jpeg', '.png', '.gif']
for file_name in file_names:
# 检查文件扩展名
if os.path.splitext(file_name)[1].lower() in image_extensions:
# 处理图片文件
pass
步骤4:加载图片文件到Python中
最后,我们需要将筛选出的图片文件加载到Python中。可以使用PIL
库的Image.open()
函数打开图片文件,并将其保存在一个列表或其他数据结构中。
from PIL import Image
images = []
for file_name in file_names:
# 检查文件扩展名
if os.path.splitext(file_name)[1].lower() in image_extensions:
# 加载图片文件
image = Image.open(os.path.join(folder_path, file_name))
images.append(image)
至此,我们已经完成了读取文件夹下的所有图片的代码实现。
完整代码
下面是完整的代码示例:
import os
from PIL import Image
# 文件夹路径
folder_path = './images' # 请根据实际情况修改路径
# 图片文件扩展名
image_extensions = ['.jpg', '.jpeg', '.png', '.gif']
# 加载图片文件
images = []
file_names = os.listdir(folder_path)
for file_name in file_names:
# 检查文件扩展名
if os.path.splitext(file_name)[1].lower() in image_extensions:
# 加载图片文件
image = Image.open(os.path.join(folder_path, file_name))
images.append(image)
总结
在本文中,我们学习了如何使用os
模块和PIL
库来读取文件夹下的所有图片。通过获取文件夹路径、遍历文件夹下的所有文件、筛选出图片文件并加载它们到Python中,我们可以很方便地对这些图片进行进一步的处理。
以上是完整的代码示例,希望对你有所帮助!