python根据txt中指定信息从一个文件夹中移动数据到另一个文件夹

# -*- coding:utf-8 -*-

import  shutil
import os

oldpath = 'images_train'          # 原数据路径
newpath = 'images_train_8500'       # 移动到新文件夹的路径
file_path = 'random_8500.txt'       # txt中指定移动文件的文件信息

#从文件中获取要拷贝的文件的信息
def get_filename_from_txt(file):
    filename_lists = []
    with open(file,'r',encoding='utf-8') as f:
        lists =  f.readlines()
        for list in lists:
            filename_lists.append(str(list).strip('\n')+'.jpg')
    return filename_lists

#拷贝文件到新的文件夹中
def mycopy(srcpath,dstpath,filename):
    if not os.path.exists(srcpath):
        print("srcpath not exist!")
    if not os.path.exists(dstpath):
        print("dstpath not exist!")
    for root,dirs,files in os.walk(srcpath,True):

        if filename in files:
            # 如果存在就拷贝
            shutil.copy(os.path.join(root,filename),dstpath)
        else:
            # 不存在的话将文件信息打印出来
            print(filename)

if __name__ == "__main__":
    #执行获取文件信息的程序
    filename_lists = get_filename_from_txt(file_path)
    #根据获取的信息进行遍历输出
    for filename in filename_lists:
        mycopy(oldpath,newpath,filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值