python 判断图片是否重名
时间: 2023-07-08 16:47:33 浏览: 49
可以使用Python的os模块和glob模块来实现判断图片是否重名的功能。
首先,可以使用os模块的listdir函数来获取指定目录下的所有文件名,然后使用glob模块的glob函数来筛选出所有图片文件的文件名,如下所示:
```python
import os
import glob
dir_path = '/path/to/directory' # 指定目录路径
img_files = glob.glob(os.path.join(dir_path, '*.jpg')) # 筛选出所有以.jpg结尾的文件名
```
接着,可以使用Python的集合(Set)来判断图片文件名是否重复,如下所示:
```python
if len(img_files) == len(set(img_files)):
print('图片文件名没有重名')
else:
print('图片文件名存在重名')
```
其中,集合的长度和列表的长度相同时,说明没有重复元素,否则说明存在重复元素。
需要注意的是,上述代码只是通过文件名来判断是否重名,如果有多个不同目录下的文件名相同,也会被判断为重名。如果需要更精确的判断,可以考虑使用文件的MD5值或者SHA1值等来判断文件是否相同。
相关问题
python爬取图片重名
Python爬取图片时,避免图片重名的方法是设计一个计数器,在爬取每个图片时,计数器加一,并将计数器的值作为图片的名称。这样就可以保证每个图片的名称是唯一的,避免重名的情况。
相关问题:
1. 如何使用Python创建文件夹?
2. 如何在Python中安装第三方库?
3. 爬取图片时如何实现翻页提
python 批量修改图片名并判断是否重名
好的,您可以使用Python的os和shutil模块来批量修改图片名,并使用字典来判断是否重名。下面是一个示例代码:
```python
import os
import shutil
path = 'your/image/folder/path'
new_name_prefix = 'new_name_prefix'
count = 1
name_dict = {}
for file_name in os.listdir(path):
if file_name.endswith('.jpg') or file_name.endswith('.png'):
new_file_name = new_name_prefix + '_' + str(count) + file_name[-4:]
old_file_path = os.path.join(path, file_name)
new_file_path = os.path.join(path, new_file_name)
if new_file_name in name_dict:
print(f'{new_file_name} already exists!')
else:
name_dict[new_file_name] = True
shutil.move(old_file_path, new_file_path)
print(f'{file_name} renamed to {new_file_name}')
count += 1
```
以上代码会将指定路径下的所有jpg和png图片文件,重命名为"new_name_prefix_数字.jpg/png"的格式,并且会打印出重命名过程,同时使用字典来判断是否重名。