python实现从文件夹中随机选取一定数量的文件

# # -*- coding:utf-8 -*-
# """
# 作者:sunli
# 日期:2022年03月14日14:06
# """

import os
import random
import shutil


fileDir = 'D:/Fall_dataset/MobiAct_Dataset_v2.0/Annotated Data'
trainDir = 'D:/Fall_dataset/MobiAct_Dataset_v2.0/train'


def moveFile(fileDir, trainDir):
    pathDir = os.listdir(fileDir)  # 取图片的原始路径
    filenumber = len(pathDir)
    # rate1 = 0.8  # 自定义抽取csv文件的比例,比方说100张抽80个,那就是0.8
    rate1 = 0.8
    picknumber1 = int(filenumber*rate1)  # 按照rate比例从文件夹中取一定数量的文件
    sample1 = random.sample(pathDir, picknumber1)  # 随机选取picknumber数量的样本
    for name in sample1:
        shutil.move(fileDir + '/' + name, trainDir + "\\" + name)


if __name__ == '__main__':
    file = os.listdir(fileDir)
    for i in file:
        moveFile(fileDir + '/' + i, trainDir)
# # -*- coding:utf-8 -*-
# """
# 作者:sunli
# 日期:2022年03月14日14:06
# """

import os
import random
import shutil

def moveFile(fileDir, trainDir):
    pathDir = os.listdir(fileDir)  # 取图片的原始路径
    filenumber = len(pathDir)
    rate1 = 0.8  # 自定义抽取csv文件的比例,比方说100张抽80张,那就是0.8
    picknumber1 = int(filenumber * rate1)  # 按照rate比例从文件夹中取一定数量的文件
    sample1 = random.sample(pathDir, picknumber1)  # 随机选取picknumber数量的样本
    print(sample1)
    for name in sample1:
        shutil.move(fileDir + name, trainDir + "\\" + name)
    # for i in pathDir:
    #     for j in sample1:
    #         if(i!=j):
    #             shutil.move(fileDir + name, testDir + "\\" + name)

        #shutil.copyfile(fileDir + name, tarDir + name)
    return

if __name__ == '__main__':
    fileDir = "D:/sy/WAL/"
    trainDir = 'D:/sy/WALtrain/'
    #testDir ='D/sy/BSCtest'
    moveFile(fileDir, trainDir)

  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值