python - shutil 和复制文件

标签 python file

我有一个很大的图像数据集(大约 3000 个文件)。我的问题很简单,我想将随机选择的图像文件复制到另一个目的地。我使用 random.sample 选择五百张图片并将它们的名称存储在列表中。 我现在想将文件从 src 文件夹复制到目标文件夹,如果它们的名称存在于列表中(因此是随机选择的)。

然而,以下代码复制文件夹中的所有文件,无论它们的名称是否出现在随机选择的列表中。帮助

import os.path
import os
import glob
import random
import shutil


dirfiles = os.listdir("/media/Data/Leaves/Leaves")
myfiles = []
myfiles.append(random.sample(dirfiles,500))


print myfiles


final_list=myfiles[0]
print final_list
count=0

for elem in final_list:
    print elem
    count= count+1

print count


src = '/home/mjanja/Desktop/Leaves'
dst = '/home/mjanja/Desktop/Positive Leaves'
for filename in final_list:
    for file in glob.glob( os.path.join(src,filename)):
        shutil.copy(file,dst)

print "Copied file!!" +infile

最佳答案

您正在做一些过于复杂的事情,例如计算元素和在不同位置定义目录。

这个怎么样?

import os
import random
import shutil

src = '/home/mjanja/Desktop/Leaves'
dst = '/home/mjanja/Desktop/Positive Leaves'

dirfiles = os.listdir(src)
myfiles = random.sample(dirfiles, 500)
count = len(myfiles)

for filename in myfiles:
    shutil.copy(os.path.join(src, filename), dst)

关于python - shutil 和复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262781/

相关文章:

matlab - 如何在 matlab 中关闭文件句柄?

python - 使用 pip 安装时出错

python - 转换为 numpy 后如何 reshape pandas 系列?

python - 使用 imshow 时自定义刻度自动缩放?

python - 在 python 列表中操作列表

javascript - 是否有一个 javascript 库可用于合并 2 个或更多 zip 文件而不解压它们

python - 如何使用 mdns 查找主机的 IP 地址?

javascript - 将 Cordova 插件添加到 Vue-Cordova?

Java:使用 BufferedWriter 数组(或其他方式?)写入多个文件

c++ - 谷歌测试几个文件