Python遍历文件夹读取图片技巧
![Image](
引言
在日常的编程工作中,经常会遇到需要遍历文件夹并读取其中的图片文件的需求。例如,我们可能需要对图片进行处理、分析或者展示。Python作为一门强大的编程语言,提供了丰富的库和函数来实现这一功能。本文将介绍如何使用Python遍历文件夹,并读取其中的图片文件。
目录
1. 准备工作
在开始编写代码之前,我们需要确保已经安装了Python解释器和相关的第三方库。在本文中,我们将使用os
库来进行文件和文件夹操作,使用PIL
库来读取和处理图片文件。
如果你还没有安装这些库,可以使用以下命令来安装:
pip install Pillow
2. 遍历文件夹
在Python中,可以使用os
库来遍历文件夹。os
库提供了listdir
函数,可以列出指定路径下的所有文件和文件夹。我们可以使用递归的方式来遍历文件夹及其子文件夹。
下面是一个简单的示例代码,演示如何遍历文件夹并打印出所有文件的路径:
import os
def traverse_folder(folder_path):
for item in os.listdir(folder_path):
item_path = os.path.join(folder_path, item)
if os.path.isfile(item_path):
print(item_path)
elif os.path.isdir(item_path):
traverse_folder(item_path)
# 调用示例
folder_path = "/path/to/folder"
traverse_folder(folder_path)
上述代码中,我们定义了一个名为traverse_folder
的函数,该函数接受一个文件夹路径作为参数。函数内部使用os.listdir
函数获取指定路径下的所有文件和文件夹。然后,通过os.path.join
函数将当前项的路径和文件夹路径拼接起来,得到当前项的完整路径。如果当前项是文件,则打印出文件的路径;如果当前项是文件夹,则递归调用traverse_folder
函数来遍历该文件夹。
3. 读取图片文件
在遍历文件夹的基础上,我们可以对文件进行进一步的处理。在本例中,我们将读取图片文件,并获取其宽度和高度。
首先,我们需要安装PIL
库,可以使用以下命令来安装:
pip install Pillow
下面是一个示例代码,演示如何读取图片文件并获取其宽度和高度:
from PIL import Image
def process_image(image_path):
image = Image.open(image_path)
width, height = image.size
print("Image path: ", image_path)
print("Image size: ", width, "x", height)
# 调用示例
image_path = "/path/to/image.jpg"
process_image(image_path)
上述代码中,我们首先导入了PIL
库的Image
模块。然后,我们定义了一个名为process_image
的函数,该函数接受一个图片文件路径作为参数。函数内部使用Image.open
函数打开图片文件,并将返回的Image
对象赋值给image
变量。然后,我们使用image.size
属性获取图片的宽度和高度,并打印出来。
4. 完整代码示例
下面是一个完整的示例代码,演示如何遍历文件夹并读取其中的图片文件:
import os
from PIL import Image
def traverse_folder(folder_path):
for item in os.listdir(folder_path):
item_path = os.path.join(folder_path, item)
if os.path.isfile(item_path):
process_image(item_path)
elif os.path.isdir(item_path):
traverse_folder(item_path)
def process_image