列表中存储在目录中的子集文件

时间:2018-11-30 12:06:07

标签: python list file directory

我有一个看起来像这样的文件列表:

 list1= [abc.txt,def.txt, pqr.txt]

我想将此文件保留在目录中,并删除所有其他文件。

我找到文件的代码是:

list1= [/home/usr/Documents/abc.txt,/home/usr/Documents/def.txt, /home/usr/Documents/pqr.txt]

def search(trace,file_path)
   i=0
   for files in os.listdir(file_path):

    #print(i,' : Reading file: ' , files)
        if files == trace:
            i=i+1
            LOG.info(" %d Reading file : %s" % (i,files))

for traces in list1:
        trace = traces.rsplit('/',1)[1]
        print(trace)
        search(trace,file_path)

此文件的子集已读取,但我想删除所有其他文件,以便它将快速解析目录,因为当前它会查找4000个文件的名称以匹配37个名称。因此,它需要的迭代次数是37 * 4000,或者我想用更少的迭代次数来完成。

1 个答案:

答案 0 :(得分:0)

您好,您可以使用glob模块查找与模式匹配的文件名 查看下面的示例

import glob
print glob.glob("/home/usr/*/abc.txt")

您可以在此处查看文档: https://docs.python.org/2/library/glob.html