欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何用python按照txt序列号批量转移文件?

程序员文章站 2022-03-30 10:17:25
如何用python按照txt序列号批量转移文件?【问题描述】组队参加一个深度学习比赛,队友把数据已经随机分好,为了与队友保持数据上的一致,我需要写一个python脚本,将20g的激光点云数据的训练集按要求划分。需要划分的数据集三个文件夹,分别是标定、标签、点云,均有6000个,每个文件名称就是编号。编号要求提取为验证集的编号,是一个txt文件,每一行存放一个编号:【问题解决】(1)首先从txt文件中获得验证集的编号:......

                   如何用python按照txt序列号批量转移文件?

【问题描述】

组队参加一个深度学习比赛,队友把数据已经随机分好,为了与队友保持数据上的一致,我需要写一个python脚本,将20g的激光点云数据的训练集按要求划分。

需要划分的数据集

三个文件夹,分别是标定、标签、点云,均有6000个,每个文件名称就是编号。

如何用python按照txt序列号批量转移文件?

编号要求

提取为验证集的编号,是一个txt文件,每一行存放一个编号:

如何用python按照txt序列号批量转移文件?

 

【问题解决】

(1)首先从txt文件中获得验证集的编号:

如何用python按照txt序列号批量转移文件?

(2)再利用得到的编号,组成验证集的文件名,进行移动操作:

import shutil

如何用python按照txt序列号批量转移文件?

(3)总体代码:

import shutil

file = open('validation.txt','r')
number_list=file.readlines()
for i in range(len(number_list)):
    number_list[i]=number_list[i].strip()
# print(number_list)

src_path='calibration/'
target_path='calibration0/'
while True:
    try:
        for number in number_list:
            shutil.move(src_path+number+'.txt',target_path+number+'.txt') #文件名
    except:
        break

(4)其余两个文件夹改一下文件名和文件后缀即可。

本文地址:https://blog.csdn.net/a_123456598/article/details/107174811