根据txt中的文件名将文件复制到目标文件夹中

Posted outthinker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据txt中的文件名将文件复制到目标文件夹中相关的知识,希望对你有一定的参考价值。

功能如标题,之所以这么做是有的时候文件数目较多,一个一个复制太复杂了,代码如下:

# -*- coding:utf-8 -*-
#2018_03_18
#实现功能:根据文件名字将对应的文件复制到目标地址中,之所以这么做是由于有的时候文件名太多了,一个一个复制很麻烦
#===========================================================================import 
import os
import shutil

#根据txt_path对应的txt中的文件名将文件一个一个复制到save_path中,name_extension是后缀名
def search_by_name(original_path , txt_path , save_path , name_extension):

    if(os.path.exists(txt_path) == False):
        print "txt_path not exist!"
        return

    f = open(txt_path , r) 

    lines = f.readlines()
    f.close()

    flies_count = 0  #总共要进行的文件数目

    for i in range(len(lines)):
        files = lines[i].split()  #文江名之间使用空格、\n分离

        for j in range(len(files)):
            file_name = os.path.splitext(files[j])[0]  #提取文件名,不包括后缀名
            file_full_name = file_name + name_extension
            print file_full_name
            file_full_path = original_path + file_full_name  #源文件的路径

            if(os.path.exists(file_full_path) == False):
                print file_full_path + "not exist!"
                continue

            shutil.copyfile(file_full_path , save_path + file_full_name)
        flies_count += len(files)
    print flies_count #输出总共执行的文件数目

if __name__ == __main__:

    original_path = D:/projects/darknet-master/src/  #源文件夹路径
    txt_path = C:/Users/zf/Desktop/txt_path.txt  #依据的txt文件
    save_path = D:/projects/darknet-master/yolo9000/h/  #将要复制到的目标文件夹
    name_extension = .h  #后缀名
    search_by_name(original_path , txt_path , save_path , name_extension)

 

以上是关于根据txt中的文件名将文件复制到目标文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

bat批处理,根据清单中的文件名将多个文件移动到另外一个路径下,如何批量处理?非常感谢!

根据文件名将 Google Cloud 存储桶中的多个文件复制到不同的目录

批处理文件根据文件名将文件复制到多个文件夹

使用SSIS表达式任务和文件系统任务,根据文件名将文件从一个文件夹移动到多个文件夹

根据文件名将目录中的多个 .xlsx 文件读取到单独的 Pandas 数据框中

根据扩展名将git repo文件移动到子文件夹