通过主目录排序以从300个不同的子目录中随机选择jpg,png

我有一个主目录,其中包含300个子目录。这300个子目录中的每一个都包含更多子目录,其中包含jpeg,png。

我想要一个脚本,它将在主目录中爬网,并进入300个子主目录中的每一个。从那里,我想随机选择一个图像,并将这些图像以jpg / png格式放入新文件夹中。

我知道我可以从一个文件夹中随机选择图像...但是我在问如何最好地浏览所有先前的子目录?

感谢已经在此论坛上发表的帖子,我能够选择并打印20张随机图像:

import os

import random

files_list = []
for root,dirs,files in os.walk("/path/to/master/directory"):
    for file in files:
        if file.endswith(".jpeg") or file.endswith(".png"):
            files_list.append(os.path.join(root,file))

# choose randomally 20 files
print(random.sample(files_list,20))

但是我需要弄清楚如何确保分别对300个子目录中的每个子目录进行爬网,并返回一个jpg或png,然后将它们全部放置在一个新文件夹中...这样一个新文件夹中将包含300个随机选择的图像。 / p>

hydmp5 回答:通过主目录排序以从300个不同的子目录中随机选择jpg,png

  1. 您可以使用os.walk(有更多方法,但这是我的最爱,您可以找到更多here)功能来遍历给定目录中的所有文件。

  2. p>
  3. 您可以详细了解random.sample here

导入操作系统

随机导入

files_list = []
for root,dirs,files in os.walk("your/path/to/master/dir"):
    for file in files:
        if file.endswith(".jpeg") or file.endswith(".png"):
            files_list.append(os.path.join(root,file))

# choose randomally 20 files
print(random.sample(files_list,20))
本文链接:https://www.f2er.com/3073054.html

大家都在问