如何根据TXT文件的图片文件路径信息批量移动文件?Windows系统环境下移动文件,python实用小技巧

一、参考来源

参考了下面这篇文章,但是我对他的代码进行了改进,并且注释方面应该更详细易懂。

Python-根据txt中的文件名批量移动文件_橘也的博客-CSDN博客_按照txt列表批量移动文件

二、背景

本人训练某一个yolo算法时,需要把训练集图片放在train文件夹下,测试集图片放在val文件夹下;全部图片路径打乱后,划分成两部分,路径信息分别存至train.txt、val.txt文件。

下面是存文件路径信息的txt文件

 

 下面JPEGImages文件夹存有所有图片,JPEGImages_train、JPEGImages_val分别先创建好,用来预备装载训练集、测试集图片的。

 复制下面的代码到一个Move images based on info of TXT.py文件中,然后存在主目录下。

为什么下面的代码中有模板部分?因为我考虑到有时候我们需要把原始代码保留,根据此进行符合不同用户需求的更改时,直接在自定义部分改动,而模板部分予以保留,作为备份信息,以防改动后忘记最基本的代码组成。

三、python代码

import shutil

'''
1、下面的这段代码是模板,txt文件中每一行应该代表一个文件名(仅包括文件名)
2、如果多了前面的父级目录字符串,可以直接全部替换
3、txt文件中最好包括图片文件后缀,此时自定义部分可以去掉.jpg后缀,从而包括多种类型的图片
'''
# with open('Pictures/method of moving.txt') as file_object:
#     for line in file_object:
#         # print(line)
#         shutil.move('Pictures/image/'+line.rstrip('\n')+'.jpg', "Picures/new_directoy")


'''
下面的这段代码是自定义部分
'''
with open(r'Imagesets\valid1.txt') as file_object:
    for line in file_object:
        # print(line)
            shutil.move('JPEGImages/'+line.rstrip('\n'), "JPEGImages_val")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值