gpt4 book ai didi

python - 有没有办法将随机文件从源复制到目标?

转载 作者:行者123 更新时间:2023-12-02 00:10:46 27 4
gpt4 key购买 nike

我正在处理 257 个包含图像的文件夹。我想复制每个文件夹中 80% 的图像,并将它们复制到一个名为 Training 的新文件夹中。 257 个文件夹中每个文件夹中剩余的 20% 的图像将被复制到一个名为 Test 的新文件夹中。最后,我将有两个新文件夹 Training 和 Test,其中 Training 包含从我的 257 个文件夹中随机选择的图像的 80%,而 Test 包含 20%。

是否有任何 Python 函数可以实现这一点?我做了一些研究,我发现的只是函数 shutil,它将所有文件从源文件夹复制到目标文件夹。

谢谢

最佳答案

您可以使用如下脚本:

import os
import shutil
import random

SOURCES = [...] # autogenerated or predefined constant

TRAINING = "Training"
TEST = "Test"


def main():
os.makedirs(TRAINING, exist_ok=True)
os.makedirs(TEST, exist_ok=True)

for src_dir in SOURCES:
files = os.listdir(src_dir)
random.shuffle(files)

sep = round(len(files) * 0.8)

for file in files[:sep]:
shutil.copy(
os.path.join(src_dir, file),
TRAINING,
)

for file in files[sep:]:
shutil.copy(
os.path.join(src_dir, file),
TEST,
)


if __name__ == "__main__":
main()

请注意,当复制到同一目的地时,具有相同文件名的文件会被静默覆盖。

关于python - 有没有办法将随机文件从源复制到目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com