python 比较两个文件夹中的图片是否同名
时间: 2023-08-07 15:02:32 浏览: 279
可以使用 Python 的 os 模块和 glob 模块来比较两个文件夹中的图片是否同名。以下是一个示例代码:
```python
import os
import glob
folder1 = 'path/to/folder1'
folder2 = 'path/to/folder2'
# 获取两个文件夹中的图片文件名列表
files1 = [os.path.basename(f) for f in glob.glob(os.path.join(folder1, '*.jpg'))]
files2 = [os.path.basename(f) for f in glob.glob(os.path.join(folder2, '*.jpg'))]
# 比较两个列表中的文件名是否相同
for file1 in files1:
if file1 in files2:
print(f"{file1} exists in both folders.")
else:
print(f"{file1} doesn't exist in {folder2}.")
for file2 in files2:
if file2 not in files1:
print(f"{file2} doesn't exist in {folder1}.")
```
这段代码假设两个文件夹中都只包含 jpg 格式的图片文件。如果要比较其他格式的文件,可以修改 glob.glob() 中的参数。
相关问题
python 比较两个文件夹中的同名文件
可以使用 Python 的 os 和 filecmp 模块来比较两个文件夹中的同名文件。具体步骤如下:
1. 使用 os 模块的 listdir() 方法分别获取两个文件夹中的文件列表。
2. 使用 filecmp 模块的 dircmp() 方法比较两个文件夹,返回一个 Dircmp 对象。
3. 使用 Dircmp 对象的 same_files 属性获取两个文件夹中相同的文件名列表。
4. 遍历相同文件名列表,依次比较两个文件夹中同名文件的内容是否一致。
下面是一个简单的示例代码:
```python
import os
import filecmp
dir1 = '/path/to/folder1'
dir2 = '/path/to/folder2'
files1 = os.listdir(dir1)
files2 = os.listdir(dir2)
dcmp = filecmp.dircmp(dir1, dir2)
same_files = dcmp.same_files
for filename in same_files:
file1 = os.path.join(dir1, filename)
file2 = os.path.join(dir2, filename)
if not filecmp.cmp(file1, file2):
print(f'{filename} is different')
```
其中,`filecmp.cmp()` 方法用于比较两个文件的内容是否一致。如果一致,返回 True;否则返回 False。
python将两个文件夹下图片名字相同的图片拼接
在Python中,你可以使用PIL (Pillow) 库来进行图像处理,特别是合并相似名称的图片。这里是一个简单的示例,假设你有两个文件夹 (`folder1` 和 `folder2`),它们都包含名为 "same_image_name.jpg" 的图片:
```python
from PIL import Image
# 定义文件夹路径
folder1_path = 'path_to_folder1'
folder2_path = 'path_to_folder2'
# 获取每个文件夹下的所有图片名
images_in_folder1 = [img for img in os.listdir(folder1_path) if img.endswith('.jpg')]
images_in_folder2 = [img for img in os.listdir(folder2_path) if img.endswith('.jpg')]
# 检查是否有同名图片
same_image_names = set(images_in_folder1) & set(images_in_folder2)
for name in same_image_names:
# 找到每个文件夹下对应的照片路径
image1_path = os.path.join(folder1_path, name)
image2_path = os.path.join(folder2_path, name)
# 打开并合并图片
with Image.open(image1_path) as im1, Image.open(image2_path) as im2:
combined_image = Image.alpha_composite(im1, im2) # 如果图片有透明度,使用 alpha_composite 否则 use Image.merge()
combined_image.save('merged_' + name) # 保存结果
阅读全文