按名称查找文件以便在其他位置复制

时间:2015-12-09 22:56:26

标签: python search filenames shutil

Python新手...... 我正在尝试让python获取文件名的文本文件(每行的新名称),并将它们存储为字符串......

import os, shutil       
files_to_find = []
with open('C:\\pathtofile\\lostfiles.txt') as fh:
    for row in fh:
        files_to_find.append(row.strip)

...为了在目录中搜索这些文件,然后将所有找到的文件复制到其他地方......

for root, dirs, files in os.walk('D:\\'):
for _file in files:
    if _file in files_to_find:
       print ("Found file in: " + str(root))
        shutil.copy(os.path.abspath(root + '/' + _file), 'C:\\destination')

打印(“处理完成”)

尽管知道存在这些文件,但脚本运行时没有任何错误但没有找到任何文件。

我补充说......

print (files_to_find)

...在第一段代码之后,看看它是否找到了什么,并在“0x00000000037FC730>”中看到了“str对象的内置方法条带”的screeds,

这是否告诉我它没有成功创建字符串来比较文件名?我想知道我哪里出错了?

1 个答案:

答案 0 :(得分:-1)

使用数组创建文件列表。

import os
import sys
import glob
import shutil


def file_names(self,filepattern,dir):
    os.chdir(dir)
    count = len(glob.glob(filepattern))
    file_list = []
    for line in sorted(glob.glob(filepattern)):
        line = line.split("/")
        line = line[-1]
        file_list.append(line)
    return file_list 

要比较的数组列表上的循环。