json文件读取,文件夹复制到另一个文件夹,按照情况进行文件夹复制 python

这段代码主要实现了对LaSOT数据集的整理,将指定路径下的文件复制到目标目录,并创建相应的文件结构。首先,读取LaSOT.json文件,然后遍历所有文件,检查是否在数据中,如果在则复制到目标目录,并保留原有的子目录结构。整个过程用于自动化数据集的管理和预处理。
摘要由CSDN通过智能技术生成
import shutil
import glob
import os
import json

path = r'/root/projects/TransT/data/Lasot'
dest = '/root/projects/TransT/data/Lasot/test'
path1 = os.path.join(path, "LaSOTBenchmark")
file_lst = glob.glob(path1 + '/*')
f = open('/root/projects/TransT/data/Lasot/test/LaSOT.json','r')
data = json.load(f)
f.close()


def copy_files():
    for file in file_final11_lst:
        # print(file)
        filename = file.split('/')[-1]
        # print(filename)
        # filename = os.path.splitext(file)[0]
        if filename in data:
            print("copy:" , filename)
            os.mkdir(os.path.join(dest, filename))
        #    print(file)
            src_files = os.listdir(file)
            for file_name in src_files:
                full_file_name = os.path.join(file, file_name)
                if os.path.isfile(full_file_name):
                    shutil.copy(full_file_name, os.path.join(dest, filename))
                else:
                    os.mkdir(os.path.join(dest, filename, file_name))
                    s_images = os.listdir(os.path.join(file, file_name))
                    for x in s_images:
                        shutil.copy(os.path.join(full_file_name, x), os.path.join(dest,filename,'img'))


for file_st in file_lst:
    file_final_lst = glob.glob(file_st+'/')
    # print(file_final_lst)
    for file_final11 in file_final_lst:
        # print(file_final11)
        file_final11_lst = glob.glob(file_final11 + '*')
        # print(file_final11_lst)
        copy_files()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值