2017-04-25 25 views
0

我目前正在尝试搜索分散在整个文件共享服务器中的缺少附件的列表。我有一个带有我希望找到的文件名列表的txt文件。理想情况下,我希望在发现时将文件复制到另一个位置。在这一刻它似乎并没有工作,因为它没有返回结果,我已经验证了这些文件存在。使用文本列表搜索文件名

import os 

source = open("Test.txt", "r") 
dest = '//somewhere/somefolder' 
path = '//somewhere/anotherfolder' 

for line in source: 
    print 'Searching . . .' 
    print line 
    for root, dirs, files in os.walk(path): 

     for name in files: 

     if name in line: 
      # shutil.copy(os.path.join(root, name), dest) 
      print 'Found!' 
      print path, name 

print 'Done'; 
+0

你会不会也需要做'source.read()'?至少在Py 2中是一件东西 – patrick

+0

请修复缩进。就目前而言,代码甚至无法运行,因为'print line'和'for root,dirs,files ...'之间出现意外缩进。 – mkrieger1

+0

@patrick不,对于some_file.read()中的x,将在文件中迭代字符。 'some_file'中的x遍历线。 –

回答

0

问题/评论:有没有办法忽略的路径,只搜索文件名?

例如:

import os 

fpath = "//somewhere/anotherfolder/filename.pdf" 
fname = os.path.basename(fpath) 

print('fname=%s' % fname) 

输出
FNAME = filename.pdf