python实现从一个文件夹中读取图片并存储图片名称
时间: 2024-05-15 14:12:25 浏览: 90
可以使用Python中的os模块和Pillow模块来实现从一个文件夹中读取图片并存储图片名称的操作。
示例代码如下:
``` python
import os
from PIL import Image
folder_path = "/path/to/folder" # 文件夹路径
output_file = "image_names.txt" # 输出文件名
# 遍历文件夹中的所有文件
with open(output_file, 'w') as f:
for file_name in os.listdir(folder_path):
file_path = os.path.join(folder_path, file_name)
if os.path.isfile(file_path):
# 如果是图片文件,打印文件名并保存到输出文件中
try:
Image.open(file_path)
print(file_name)
f.write(file_name + '\n')
except:
pass
```
以上代码会遍历指定文件夹中的所有文件,如果是图片文件则打印文件名并保存到输出文件中。其中,`Pillow`模块用于判断文件是否为图片文件,如果打开文件出现错误则说明文件不是图片文件。
相关问题
python 读取文件夹中所有图片
要读取文件夹中的所有图片文件,你可以使用Python的`os`和`PIL`库。下面是一个示例代码,演示了如何读取文件夹中的所有图片文件:
```python
import os
from PIL import Image
def read_images_from_folder(folder_path):
image_files = []
for filename in os.listdir(folder_path):
if filename.endswith(".jpg") or filename.endswith(".png"):
image_files.append(os.path.join(folder_path, filename))
images = []
for file_path in image_files:
image = Image.open(file_path)
images.append(image)
return images
# 指定文件夹路径
folder_path = "path/to/folder"
# 调用函数读取图片
images = read_images_from_folder(folder_path)
# 对读取到的图片进行操作
for image in images:
# Do something with the image
image.show()
```
在上面的示例中,`read_images_from_folder()` 函数接受文件夹路径作为参数,并返回一个包含所有图片的 `Image` 对象列表。函数首先遍历文件夹中的所有文件,筛选出以 `.jpg` 或 `.png` 结尾的文件路径,并将其存储在 `image_files` 列表中。然后,函数遍历 `image_files` 列表,使用 `Image.open()` 打开每个图片文件,并将其添加到 `images` 列表中。最后,函数返回 `images` 列表。
你可以将 `folder_path` 更改为你想要读取图片的文件夹路径,并使用 `read_images_from_folder()` 函数读取该文件夹中的所有图片文件。然后,你可以对读取到的图片进行进一步的操作,比如显示、处理等。
Python读取文件夹内文件夹内的图片
在Python中,你可以使用os和glob模块来遍历文件夹并读取其中的所有图片。图片通常是以`.jpg`、`.png`、`.gif`等常见格式存储。下面是一个简单的示例,展示如何读取指定目录及其子目录下的所有图片:
```python
import os
import glob
def read_images_from_folder(folder_path):
image_extensions = ['.jpg', '.jpeg', '.png', '.gif'] # 常见图片文件扩展名
images = []
for root, _, files in os.walk(folder_path):
for file in files:
if any(file.endswith(ext) for ext in image_extensions):
full_path = os.path.join(root, file)
try:
with open(full_path, 'rb') as img_file:
images.append(img_file.read()) # 读取二进制数据
except Exception as e:
print(f"Error reading {full_path}: {e}")
return images
# 使用函数
folder_to_search = '/path/to/your/folder'
all_images = read_images_from_folder(folder_to_search)
阅读全文