python 遍历某个目录下所有文件夹,取其中jpg文件最少的数量作为基准值,遍历每个文件夹,删除多余的jpg文件,是每个文件中jpg文件数目一致,等于基准值
时间: 2024-11-30 16:29:45 浏览: 12
在Python中,你可以使用os模块以及shutil模块来实现这个功能。首先,你需要遍历指定目录及其子目录下的所有jpg文件,并统计每个文件夹内的jpg文件数量。然后,找出最少数量的jpg文件作为基准,接着遍历每个文件夹,如果该文件夹的jpg文件数超过基准值,就删除多余的部分。
以下是一个简单的示例代码:
```python
import os
import shutil
def find_min_jpg_count(directory):
jpg_counts = {}
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.jpg'):
if root not in jpg_counts:
jpg_counts[root] = 0
jpg_counts[root] += 1
min_count = min(jpg_counts.values())
return min_count, jpg_counts
def delete_extra_jpgs(directory, min_count):
for root, count in jpg_counts.items():
if count > min_count:
extra_files = [file for file in os.listdir(root) if file.endswith('.jpg') and count-min_count > 0]
for file in extra_files[:count-min_count]:
shutil.move(os.path.join(root, file), os.path.join(root, 'deleted'))
# 使用函数
directory_to_check = '/path/to/your/directory'
min_jpg_count, _ = find_min_jpg_count(directory_to_check)
delete_extra_jpgs(directory_to_check, min_jpg_count)
阅读全文