删除多个文件夹中的图像(Python)



我想写一个python脚本,在多个文件夹中随机只保留一些图像。

我是python的新手,我正在努力寻找解决方案。然而,我还没有找到一个好的开始。如果有人能帮助我,我将不胜感激。谢谢。

这可能会对您有所帮助。它首先检索所有目录的列表,然后删除随机文件,只得到n个文件。注意:path_to_all_images_folder必须声明为

import os
import random
def keep_n_dir(directory, n):
files = os.listdir(directory) #You retrieve the list of names of files
if len(files) > n: #If you already have less than n files, you do nothing
diff = len(files) - n
files_to_delete = random.sample(files, k=diff) #Random sample files to delete
for file in files_to_delete: 
os.remove(os.path.join(directory, file)) #Delete additional files
directories = os.listdir(path_to_all_images_folder)
directories = [os.path.join(path_to_all_images_folder, folder) for folder in directories]
for directory in directories:
if os.path.isdir(directory):
keep_n_dir(directory, n)

注意!此代码从目录中删除其他文件。它只保存n。

最新更新