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,
这是否告诉我它没有成功创建字符串来比较文件名?我想知道我哪里出错了?
答案 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
要比较的数组列表上的循环。