你是一个python开发工程师,我需要一份可以在Win10上运行的Python程序,它可以用来将当前文件夹中A文件夹中的图片文件名和B文件夹中对应相似的图片文件名匹配并进行修改,达到使B文件夹中图片的文件名与A文件夹中同样尺寸的图片名称相同的效果。程序需要考虑到所有图片格式适用性需求。 此外,你可以添加一些 print() 语句在代码中输出一些信息,以便更好地理解代码的执行过程和相关变量的值的变化。
时间: 2024-03-17 16:42:10 浏览: 44
好的,这个任务可以通过使用Python中的Pillow库来实现。以下是一个示例代码,它将A文件夹中的图片文件名和B文件夹中相似的图片文件名匹配并修改B文件夹中的图片文件名,使其与A文件夹中同样尺寸的图片名称相同:
```python
import os
from PIL import Image
# 获取A文件夹中的所有图片文件名
a_images = [f for f in os.listdir('A') if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png')]
# 获取B文件夹中的所有图片文件名
b_images = [f for f in os.listdir('B') if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png')]
# 遍历B文件夹中的每个图片文件
for b_image in b_images:
# 获取B文件夹中当前图片的完整路径
b_image_path = os.path.join('B', b_image)
# 打开当前B文件夹中的图片并获取其尺寸
b_img = Image.open(b_image_path)
b_width, b_height = b_img.size
# 遍历A文件夹中的每个图片文件
for a_image in a_images:
# 获取A文件夹中当前图片的完整路径
a_image_path = os.path.join('A', a_image)
# 打开当前A文件夹中的图片并获取其尺寸
a_img = Image.open(a_image_path)
a_width, a_height = a_img.size
# 如果A文件夹中当前图片的尺寸与B文件夹中当前图片的尺寸相同
if a_width == b_width and a_height == b_height:
# 修改B文件夹中当前图片的文件名为A文件夹中当前图片的文件名
os.rename(b_image_path, os.path.join('B', a_image))
# 输出修改后的文件名
print('Modified file name from', b_image, 'to', a_image)
# 结束当前遍历
break
```
请注意,此代码仅供参考,并且未经全面测试。在使用之前,请确保备份所有相关文件。
阅读全文