【发布时间】:2020-08-24 21:12:12
【问题描述】:
我想写一个python脚本来随机只保留多个文件夹中的一些图像。
我是 python 新手,我正在努力寻找解决方案。但是,我还没有找到一个好的开始。 如果有人可以帮助我,我将不胜感激。谢谢。
【问题讨论】:
-
你有没有尝试过,你在哪里遇到问题?
-
我正在尝试。
标签: python python-3.x image directory
我想写一个python脚本来随机只保留多个文件夹中的一些图像。
我是 python 新手,我正在努力寻找解决方案。但是,我还没有找到一个好的开始。 如果有人可以帮助我,我将不胜感激。谢谢。
【问题讨论】:
标签: python python-3.x image directory
这可能会对您有所帮助。它首先检索所有目录的列表,然后删除随机文件以仅获取 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。
【讨论】:
NotADirectoryError: [Errno 20] Not a directory: 'all_images/.DS_Store'。我该怎么办?